Чтобы уменьшить беспорядок, вы можете использовать свойство axis.Interval
.
Но каждая строка по-прежнему будет иметь такой же стиль , как основной, так и вспомогательной.
Вы можете добавить VerticalLineAnnotations
для выбранных точек или попробовать StripLines
.Оба могут быть стилизованы свободно.
Вот пример нормальной линейной диаграммы со случайным образом добавленными линиями к нескольким точкам:
Тот же результат можетбыть достигнутым либо Annotations
или Striplines
.Синие линии StripLine
и красные Annotations
.Вот две функции для добавления цветной линии к DataPoint
:
void AddStripLine(Chart chart, ChartArea ca, DataPoint dp, Color col)
{
Axis ax = ca.AxisX;
StripLine sl = new StripLine();
sl.BorderColor = col;
sl.IntervalOffset = dp.XValue;
sl.Interval = 0;
sl.StripWidth = 0;
sl.BorderWidth = 1;
ax.StripLines.Add(sl);
}
Если вы посмотрите очень внимательно, вы увидите, что единственное визуальное отличие состоит в том, что первые находятся ниже, а последние выше всех других.элементы диаграммы.
void AddAnnotation(Chart chart, ChartArea ca, DataPoint dp, Color col)
{
Axis ay = ca.AxisY;
VerticalLineAnnotation vl = new VerticalLineAnnotation();
vl.LineColor = col;
vl.AnchorDataPoint = dp;
vl.IsInfinitive = true;
vl.LineWidth = 1;
vl.Height = ay.Maximum - ay.Minimum;
vl.ClipToChartArea = ca.Name;
chart.Annotations.Add(vl);
}
Для Bar
диаграмм используйте HorizontalLineAnnotations
и привязывайте к правильной оси ...
Использование Annotatons
на самом деле более естественный способ, так как каждыйэто индивидуальный объект.StripLines
тоже, но повторяется с интервалами.Чтобы избежать видимого повторения, каждый должен иметь подходящие смещения и интервалы , которые должны быть определены для каждого.Но это не сложно сделать в любом случае.
Также обратите внимание, что оба типа линий линий привязаны к их DataPoints
и будут перемещаться с ниминапример, при изменении размера диаграммы ..