有选择地隐藏C#图表中的系列

时间:2013-02-21 21:39:11

标签: c# charts customization mschart

假设我有一个包含2个系列的图表。然后对于每个系列,我都有一个复选框,说明我是否想要查看它们。假设我最初绘制两个,然后想要隐藏它们中的任何一个。这样做的最佳方式是什么?

我知道我可以Clear()然后AddXY()他们回来了,但有更快的方法吗?

我的想法:

1
。根据复选框将visibility属性设置为true / false。
没有能见度物业

2。将点集合复制到变量,清除并重新放入。
Series[].Points是只读的

3。将系列复制到变量,清除点,然后放回。
当我尝试这个时,它显然存储了系列作为参考,我找不到复制命令。

所以我显然是错误的做法。你如何动态地允许图表隐藏不同的系列?

2 个答案:

答案 0 :(得分:19)

要隐藏MSChart中的系列,请以这种方式使用Enabled属性:

msChart.Series["Series"].Enabled = false;

并再次展示:

msChart.Series["Series"].Enabled = true;

所以你不需要删除积分并重新添加它们。

答案 1 :(得分:0)

还有另一种方法可以不隐藏图例。

简单地说:

Chart.Series[0].Color = Color.FromArgb(0, 0, 0, 0); //sets color to transparent

您可以重置为颜色。稍后清空以恢复默认颜色。

这里唯一的缺点是,除非隐藏系列中的最后一项,否则其他行将重新着色