如果我有一個圖表控件,其中有2 chartAreas
,圖表控件在默認情況下將chartAreas放在另一個的頂部,使每個區域佔用圖表控件的可用大小的50% 。如何修改C#圖表控件圖表區域百分比
有沒有辦法來改變chartAreas'%的,這樣我可以說,有頂級圖表拿75%的面積,底部圖表拿25%?
如果我有一個圖表控件,其中有2 chartAreas
,圖表控件在默認情況下將chartAreas放在另一個的頂部,使每個區域佔用圖表控件的可用大小的50% 。如何修改C#圖表控件圖表區域百分比
有沒有辦法來改變chartAreas'%的,這樣我可以說,有頂級圖表拿75%的面積,底部圖表拿25%?
所以,我終於找到了它,但我認爲它沒有很好的記錄。每個chartArea
有財產ChartArea.Position。該屬性類型爲ElementPosition,幷包含與此問題相關的4個屬性。
高度:獲取或設置圖表元素的高度。
寬度:獲取或設置圖表元素的寬度。
X:獲取或設置適用圖表元素左上角的相對X座標。
Y:獲取或設置適用圖表元素左上角的相對Y座標。
當挖越深,Height
和Width
性能也以相對座標表示,例如,你只能輸入0 - 100
基本上,你必須改變每個高度,和每個Y移動轉移他們。初始創建後,它不會自動調整其他數字。例如,如果我只是將chartArea [1]的Height
更改爲更小的值,它仍然會錨定在之前的位置,因爲它會在其下方留下大量空白區域。
如果我再增加chartArea的Height
[0],它可能籠絡chartArea [1],我們只是調整。因此,我必須設置chartArea [1]的Y
將其向下移動,以便它不會被拖動,並且空白區域消失。
因此,要獲得類似的東西是什麼,我問的問題,我將其設置爲:
chart1.ChartAreas[0].Position.Y = 10;
chart1.ChartAreas[0].Position.Height = 60;
chart1.ChartAreas[1].Position.Y = 70;
chart1.ChartAreas[1].Position.Height = 20;
爲了使這個解釋有點更加清晰,我會參考圖表控件,這些chartAreas是作爲「父母」。
這些百分比,但在這個例子中,我們假定父母的大小爲100個像素。
這將第一chartArea開始以10像素顯示,並且使得約60像素高。然後它開始在70px顯示第二個chartArea,並使其大約20px高。
如果這個圖表是200像素高,那麼比例是相同的,但實際像素是雙(所以第一個圖表區設置爲60將使120像素高)。
我做了墊在我的真正的程序多做一些事情,因爲這有標題覆蓋軸標籤,但我覺得這些數字有助於更好地解釋它。
您還可以將第二個圖表.Y位置設置爲第一個圖表的底部。這樣你只需要擔心第一張圖表的位置。該代碼看起來是這樣的:
chart1.ChartAreas[0].Position.Y = 10;
chart1.ChartAreas[0].Position.Height = 60;
chart1.ChartAreas[1].Position.Y = chart1.ChartAreas[0].Position.Bottom;
chart1.ChartAreas[1].Position.Height = 20;
您還可以墊.Y位置,當然,這取決於你如何多的空白,想圖表之間。對於我使用多個圖表構建的應用程序,我使用這種方法,並保證每個圖表都能正確定位,而不管個別圖表做了什麼。
代碼,請... – 2013-03-15 16:48:02
@Peretz對於這部分我使用設計器來生成圖表。雖然我可以複製該代碼,但我不確定這會有所幫助。它只是一個標準圖表,其中有兩個chartAreas。沒有我自己的代碼影響到這一點,只是設計師。我想知道是否有人知道這個代碼。 – Xantham 2013-03-15 16:53:38