假设我有一个包含2个系列的图表。然后对于每个系列,我都有一个复选框,说明我是否想要查看它们。假设我最初绘制两个,然后想要隐藏它们中的任何一个。这样做的最佳方式是什么?
我知道我可以Clear()
然后AddXY()
他们回来了,但有更快的方法吗?
我的想法:
1
。根据复选框将visibility属性设置为true / false。
没有能见度物业
2。将点集合复制到变量,清除并重新放入。
Series[].Points
是只读的
3。将系列复制到变量,清除点,然后放回。
当我尝试这个时,它显然存储了系列作为参考,我找不到复制命令。
所以我显然是错误的做法。你如何动态地允许图表隐藏不同的系列?
答案 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
您可以重置为颜色。稍后清空以恢复默认颜色。
这里唯一的缺点是,除非隐藏系列中的最后一项,否则其他行将重新着色