[英]Selectively hiding series in a C# chart
假設我有一張圖表,上面有 2 個系列。 然后對於每個系列,我都有一個復選框來說明我是否想看它們。 假設我最初繪制了兩個,后來想隱藏其中一個。 做這個的最好方式是什么?
我知道我可以Clear()
它然后AddXY()
它們回來,但是有沒有更快的方法來做到這一點?
我的嘗試想法:
1. 根據復選框將可見性屬性設置為真/假。
沒有可見性屬性
2. 將 Points Collection 復制到變量中,清除並放回。
Series[].Points
是只讀的
3. 將 Series 復制到一個變量,清除點,然后放回。
顯然,當我嘗試這樣做時,它將系列存儲為參考,但我找不到復制命令。
所以我顯然以錯誤的方式解決這個問題。 您將如何動態地允許圖表隱藏不同的系列?
要隱藏MSChart中的系列,請使用Enabled
屬性:
msChart.Series["Series"].Enabled = false;
並再次顯示:
msChart.Series["Series"].Enabled = true;
所以你不需要刪除點並重新添加它們。
還有另一種方法可以在不隱藏圖例的情況下完成此操作。
簡單地說:
Chart.Series[0].Color = Color.FromArgb(0, 0, 0, 0); //sets color to transparent
您可以稍后重置為Color.Empty以恢復默認顏色。
這里唯一的缺點是,除非隱藏系列中的最后一項,否則其他線將重新着色
form.chart1.Legends.Clear();
//隱藏圖例中的系列也可以:
form.chart1.Series["0"].IsVisibleInLegend = false;
//禁用圖例:
form.chart1.Legends[0].Enabled = false;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.