因此,我使用Windows窗体图生成包含多行的图形,这些图形可能会在图形上产生一些混乱,除了颜色之外还需要区分它们。使用点线或虚线的点太多,因为它与实线之间没有可观察到的差异。所以我希望做的就是让各种形状的标记显示在例如Excel中的行上。现在我有这样编码
myChart.Series["MySeries"].ChartType = SeriesChartType.FastLine;
myChart.Series["MySeries"].MarkerStyle = MarkerStyle.Diamond;
这样做是在该线上的图例中放置一颗钻石,但它不会将钻石放在图表本身的实际线上。遗憾的是,更改标记大小并没有什么不同,也没有改变标记颜色。有没有办法让这种情况发生。感谢阅读,以及任何帮助。
编辑: 下面是相关代码。 它的数据保存在一个类中,这是一个字典的价值。 该类包含双精度列表。
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,它的价值。再次感谢您的阅读。
答案 0 :(得分:1)
使用Line。不要使用FastLine。 FastLine不会为您生成标记。
myChart.Series["MySeries"].ChartType = SeriesChartType.Line
答案 1 :(得分:0)
将MarkerSize
设置为更大的值:
myChart.Series["MySeries"].MarkerSize = 4;
ETA:
您可能还需要设置标记的颜色:
myChart.Series["MySeries"].MarkerColor = Color.Blue;
myChart.Series["MySeries"].Color = Color.Blue;