grafico toolkit Silverlight: assi non sempre visualizzano 0 e il valore massimo
-
21-09-2019 - |
Domanda
Sto usando il controllo grafico fornito nel toolkit Silverlight.
Ho definito 3 assi (codice di seguito). Ora la serie nel cambiamento grafico per ordine di un utente. A volte, il valore 0 l'origine e il valore massimo dell'asse non ottenere visualizzata. Essi non sono necessariamente mancano allo stesso tempo. Io sono fuori di idea su perché questo sta accadendo. I valori nella serie sono entro lo stesso intervallo come essi sono vincolati a (0, 1000). È questo un comportamento normale?
<chartingToolkit:Chart.Axes>
<chartingToolkit:LinearAxis x:Name="LeftYAxis"
Orientation="Y"
Location="Left"
BorderThickness="0.5"
>
<chartingToolkit:LinearAxis.AxisLabelStyle>
<Style TargetType="chartingToolkit:AxisLabel" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:AxisLabel">
<Grid Background="Transparent">
<Border x:Name="AxisLabelMarker"
Background="Transparent"
BorderBrush="Blue"
BorderThickness="0"
>
<TextBlock Text="{Binding}"
Grid.Column="0"
/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:LinearAxis.AxisLabelStyle>
</chartingToolkit:LinearAxis>
<chartingToolkit:CategoryAxis Orientation="X"
Title="Percentage Increase in Bid Value"
Location="Bottom"
BorderThickness="0.5"
>
<chartingToolkit:CategoryAxis.AxisLabelStyle>
<Style TargetType="chartingToolkit:AxisLabel" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:AxisLabel">
<Grid Background="Transparent">
<Border x:Name="AxisLabelMarker"
Background="Transparent"
BorderBrush="Blue"
BorderThickness="0"
>
<TextBlock Text="{Binding}"
Grid.Column="0"
/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:CategoryAxis.AxisLabelStyle>
</chartingToolkit:CategoryAxis>
<chartingToolkit:LinearAxis x:Name="RightYAxis"
Orientation="Y"
Location="Right"
BorderThickness="0.5"
>
<chartingToolkit:LinearAxis.AxisLabelStyle>
<Style TargetType="chartingToolkit:AxisLabel">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:AxisLabel">
<TextBlock Text="{Binding}"
/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:LinearAxis.AxisLabelStyle>
</chartingToolkit:LinearAxis>
</chartingToolkit:Chart.Axes>
Soluzione
A meno che non si specifica il valore minimo e massimo sull'asse toolkit sarà automaticamente calcolare i valori per loro. Se non ricordo male l'ultima volta ho guardato teh codice sorgente tenta di centrare i valori impostati all'interno di una centrale 80% dell'area del grafico, è regolare l'asse valori minimo e massimo per raggiungere questo obiettivo.
Poiché si sa che la gamma è (0, 1000) è sufficiente aggiungere le opportune proprietà Minimum
e Maximum
al LinearAxis
.