如何使用c#在折线图中显示标记点

本文关键字:显示 折线图 何使用 | 更新日期: 2023-09-27 18:27:04

我在应用程序中使用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);

如何使用c#在折线图中显示标记点

我看不出Markers如何从您的代码中显示出来。

您需要设置非默认MarkerStyle:

 series1.MarkerStyle = MarkerStyle.Circle;

如果在该行中使用调试器,您可以看到默认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;
}