所以我使用 Windows 窗体图表生成包含多条线的图形,这些线可能会在图形上造成一些困惑并且需要一些东西来区分它们而不是颜色。使用点线或虚线有太多要点,因为它与连续线之间没有明显的区别。所以我希望做的是让具有各种形状的标记显示在线条上,例如在 Excel 中。现在我把它编码成这样
myChart.Series["MySeries"].ChartType = SeriesChartType.FastLine;
myChart.Series["MySeries"].MarkerStyle = MarkerStyle.Diamond;
这样做是在图例中在那条线上放置一个菱形,但它不会在图表本身的实际线上放置菱形。不幸的是,更改标记大小并没有什么不同,更改标记颜色也没有。有没有办法让它发生。感谢阅读,感谢您的帮助。
编辑: 这是相关代码。 它的数据保存在一个类中,该类是字典的值。 该类包含一个 double 列表。
public void Charter(Color colorOfLine)
{
double xValue;
double yValue;
myChart.Series.Add("MySeries");
myChart.Series["MySeries"].ChartType.FastLine;
myChart.Series["MySeries"].ChartArea = "ChartArea1";
myChart.Series["MySeries"].Color = colorOfLine;
myChart.Series["MySeries"].MarkerStyle = MarkerStyle.Diamond;
myChart.Series["MySeries"].MarkerColor = Color.Black;
myChart.Series["MySeries"].MarkerSize = 5;
myChart.Series["MySeries"].MarkerBoarderColor = Color.DeepPink;
foreach (KeyValuePair<int, MyClass> Pair in MyDictionary)
{
xValue = Pair.Value.MyClassList[0];
yValue = Pair.Value.MyClassList[1];
myChart.Series["MySeries"].Points.AddXY(xValue, yValue);
}
}
我应该补充一点,我也尝试过 MarkerStep 和 MarkerBoarderWidth,但都没有任何好处。问题似乎是标记根本没有出现在图表本身的实际线条上。此外,我正在使用 Visual Studio 2010 Express 来获得它的值(value)。再次感谢阅读。
最佳答案
使用线。不要使用快线。 FastLine 不会为您生成标记。
myChart.Series["MySeries"].ChartType = SeriesChartType.Line
关于c# - 图表标记未在线显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145837/