LinearAxis имеет Iterval свойство. Попробуйте установить
<Charting:Chart.Axes>
<Charting:LinearAxis Interval="1" Orientation="Y" Minimum="0" Title="" Location="Left" />
</Charting:Chart.Axes>
Согласно с вашим комментарием (извините, я thinked проблема была проще;)), я использовал подобный подход для визуализации метки на оси Y:
в ресурсах, использовать стиль например
<Style x:Key="ChartLabelNoDecimal" TargetType="chartingToolkit:AxisLabel">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:AxisLabel">
<TextBlock DataContext="{TemplateBinding FormattedContent}" Text="{Binding Converter={StaticResource NumericConverter1}}" FontSize="9" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
public class NumericConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
double x = double.Parse(value.ToString());
if(/*check if has decimals*/) return string.Empty;
else return x;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
затем вы можете добавить LinearAxis с этим стилем в свой график. My NumericConverter просто проверьте значение метки, которую диаграмма хочет отобразить и соответствующим образом отформатировать, с моей логикой. Вы можете проверить, является ли значение целым, поэтому верните правильную строку или пустое в противном случае. Я думаю, это может сработать.
Спасибо michele, но проблема в том, что я не хочу, чтобы интервал всегда был 1, так как иногда у меня очень высокие значения, а интервал должен быть 100, например. – Erez