У меня недавно была похожая проблема с MSChart при добавлении слишком большого количества меток к оси x.Решением было сокращение числа тиков без потери данных.
Этот подход работал для меня, но вам придется адаптировать его к вашим конкретным потребностям.
dataSeries.XValueType = ChartValueType.Auto;
dataSeries.Points.AddXY(record.DateTime, value);
Затем я определил минимальную и максимальную даты для заданных данных, чтобы определить предпочтительный интервал, ваша реализация будет варьироваться:
var totalDays = (maxDate.Value - minDate.Value).TotalDays;
if (totalDays < 60)
chartArea.AxisX.IntervalType = DateTimeIntervalType.Days;
else if (totalDays < 120)
chartArea.AxisX.IntervalType = DateTimeIntervalType.Weeks;
else
chartArea.AxisX.IntervalType = DateTimeIntervalType.Months;
Укажите формат метки AxisX: в вашем случае вам, возможно, придется изменить Format
вместе с интервалом.
chartArea.AxisX.LabelStyle.Format = Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern;
Надеемся, что есть некоторые ключевые части, которые обеспечат вам ценность, но вам все равно придется изменитьэто для ваших конкретных потребностей.