|
<chart:SfChart.SecondaryAxis>
<chart:NumericalAxis ActualRangeChanged="NumericalAxis_ActualRangeChanged"/>
</chart:SfChart.SecondaryAxis> |
|
private void NumericalAxis_ActualRangeChanged(object sender, Syncfusion.SfChart.XForms.ActualRangeChangedEventArgs e)
{
var chartAxis = sender as NumericalAxis;
if(e.ActualMinimum.ToString() == "0" && e.ActualMaximum.ToString() == "1")
{
chartAxis.Interval = 1;
}
else
{
chartAxis.Interval = double.NaN;
}
} |
|
<chart:SfChart.SecondaryAxis>
<local:ChartSecondaryAxis x:Name="secondaryAxis" EdgeLabelsVisibilityMode="AlwaysVisible" LabelCreated="secondaryAxis_LabelCreated" >
</local:ChartSecondaryAxis>
</chart:SfChart.SecondaryAxis> |
|
public class ChartSecondaryAxis : NumericalAxis
{
protected override void OnCreateLabels()
{
base.OnCreateLabels();
if (VisibleLabels[VisibleLabels.Count - 1].LabelContent == "1" && VisibleLabels[0].LabelContent == "0")
{
for (int i = 0; i < VisibleLabels.Count - 1; i++)
{
if (i != 0 && i != VisibleLabels.Count - 1)
{
VisibleLabels[i].LabelContent = " ";
}
}
}
}
} |
|
private void secondaryAxis_LabelCreated(object sender, ChartAxisLabelEventArgs e)
{
var value = Convert.ToDouble(e.LabelContent);
e.LabelContent = Convert.ToDouble(value).ToString("### ### ### ### ##0");
. . . .
} |