簡體   English   中英

有選擇地隱藏 C# 圖表中的系列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM