图表标记没有出现在线上

时间:2014-06-10 16:08:57

标签: c# winforms graph charts

因此,我使用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,它的价值。再次感谢您的阅读。

2 个答案:

答案 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;