c# - 图表标记未在线显示

标签 c# winforms graph charts

所以我使用 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/

相关文章:

c# - 正则表达式匹配有效的十六进制字符串但不是全部 '0'

c++ - Visual Studio 应用程序依赖

ios - 一次显示 2 个 CPTXYPlotSpace

javascript - 递归:如何获取某个节点的所有(子)边?

r - 将neo4j与R一起使用

c# - 浮点运算以及x86和x64上下文

c# - 绑定(bind)DataSource时如何防止selectedindexchanged事件?

c# - 如何将额外的属性字段添加到 asp.net 下拉列表中

vb.net - 尽管通过 Designer 设置为 "true",但 bool 属性在运行时返回 false

c# - 避免跨线程操作