Noodlejay BlaBla

welcome and happy to share


發表留言

Chart繪圖區域控制,ChartArea Position、InnerPlotPosition

如果沒有特別需要排版的要求,很多功能通常都是由預設的Auto,但是Chart的細項太多,常常改動一個就亂套了…

而在Chart的使用中,繪圖區域的大小及位置是由ChartArea中的Position和InnerPlotPosition所控制。

Position(float x ,float y ,float width ,float height)

InnerPlotPosition(float x ,float y ,float width ,float height)

底下為我的理解跟解釋:

我將ChartArea的Boader設定顏色,方便理解。

01# 設定ChartArea的大小,當Position(0,0,80,80),其意義為Chart長寬的各80%,

InnerPlotPosition(0,0,100,100)時,100即實際繪製佔滿了100%長寬的ChartArea。也因此X軸、Y軸標籤超出了ChartArea範圍(即紅藍框),所以不會顯示出來。


02# 將 InnerPlotPosition(0,0,80,50)時,繪製則僅ChartArea Width的50%、Height的80%區域(相對於紅框)


03# 接著設定Position(10, 10, 80, 80) , 左上角當作原點,設定x為距離原點10% w 的距離;設定y為距離原點10%h的距離;


04# 再接著設定 InnerPlotPosition(20,10,100,100),此時以ChartArea(紅框)的左上角為原點,設定x為距離原點20% w 的距離;設定y為距離原點10%h的距離;如下圖,此時X軸、Y軸標籤都顯示出來了。


簡單總結 #

Position為設定ChartArea的大小和位置,參數比例相對於Chart元件尺寸。

InnerPlotPosition為設定繪圖的大小和位置,參數比例相對於ChartArea。

上面的步驟只是輔助理解,一次設定只要兩行就可以得到最後的結果。

有任何疑問歡迎留言討論