Как показать маркерные точки в графике на C#

я использую Line graph в моем приложении и работает нормально. Я попытался нарисовать маркерные точки на линейном графике, но маркерные точки не отображаются. В свойствах маркера линейной диаграммы я выбрал markerSize как 5,markerStyle как круг,MarkerColor как синий.См. мой код ниже.

 series1.Name = "Series1";
 series1.IsVisibleInLegend = false;
 series1.IsXValueIndexed = true;
 series1.XValueType = ChartValueType.Time;
 series1.YAxisType = AxisType.Primary;
 series1.ChartType = SeriesChartType.Line;
 this.chart1.Series.Add(series1);

2 ответов


Я не вижу, как Markers можете показать в коде.

вам нужно установить по умолчанию MarkerStyle:

 series1.MarkerStyle = MarkerStyle.Circle;

если вы используете отладчик на этой линии вы можете видеть, как по умолчанию is None !

конечно, вы хотите играть со всеми другими маркер связывает свойства серии, которые все унаследованы от DataPointCustomProperties

вы используете ChartType.Line это нормально. Обратите внимание, что FastLine не отображает маркеры!

если вы только хотите, чтобы показать некоторые маркеры просто стиль их для каждой точки:

S1.Points[8].MarkerStyle = MarkerStyle.Triangle;
S1.Points[8].MarkerSize = 22;
S1.Points[8].MarkerColor = Color.Red;

Я предлагаю получить каждую из ваших точек, прокручивая их и добавляя каждую из них. Я заметил, что вы хотите установить имя, поэтому я просто создал счетчик, а затем добавил целое значение в конец "ser", имя, как вам угодно.

Dim counter as int = 0;
foreach (Series ser in chart.Series)
{
   ser.Name = "ser" & counter + 1;
   ser.IsVisibleInLegend = false;
   ser.IsXValueIndexed = true;
   ser.XValueType = ChartValueType.Time;
   ser.YAxisType = AxisType.Primary;
   ser.ChartType = SeriesChartType.Line;
   this.chart1.Series.Add(ser);
   counter += 1;
}