Selectively hiding series in a C# chart

Xantham picture Xantham · Feb 21, 2013 · Viewed 23.5k times · Source

Lets say I have a chart with 2 series on it. Then for each series, I have a checkbox to say whether I want to see them or not. Assume that I originally plot both, and afterwards, wanted to hide either of them. What is the best way to do this?

I know I could just Clear() it and then AddXY() them back in, but is there a faster way to do it?

My attempted ideas:


1. Set a visibility property to true/false depending on checkbox.
There is No visibility Property

2. Copy Points Collection to a variable, clear, and put back in.
Series[].Points is read-only

3. Copy Series to a variable, clear the points, and put back in.
Apparently it stores the Series as a reference when I try this, and I cannot find a copy command.

So I am apparently going about this the wrong way. How would you dynamically allow chart to have different series hidden?

Answer

Larry picture Larry · Feb 21, 2013

To hide a series in MSChart, use the Enabled property this way :

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

and to show it again :

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

So you dont need to remove points and re-add them.