共用方式為


圖表控制項中的座標軸

每個圖表區域都包含座標軸 (Axis 物件) 來代表其繪圖區域,您可以透過圖表區域存取每個座標軸。

圖表是使用 X 和 Y 軸繪製而成。 Y 軸通常具有數字標尺,而 X 軸則通常具有類別標尺。 類別可包括字串、數字和日期值。 根據預設,Chart 控制項的所有座標軸都使用數字標尺。

每個座標軸都可以設定標題。 若要設定座標軸標題,請使用 Axis.Title 屬性。

根據座標軸繪圖

最常使用的圖表具有一組「主座標軸」(Primary Axis),而且還可能具有一組「次座標軸」(Secondary Axis)。 您可以在 ChartArea 物件中啟用和停用每個座標軸,以及設定 Series 物件使用 Series.XAxisTypeSeries.YAxisType 屬性根據主座標軸或次座標軸進行繪製。 請參閱下表,了解哪項屬性控制哪個座標軸。

對大多數圖表類型來說,X 軸是水平軸,而 Y 是垂直軸,但有下列例外狀況:

  • 橫條圖類型的 X 軸是垂直軸,而 Y 軸是水平軸。

  • 圓形圖類型只使用主座標軸,X 軸代表圓形半徑,而 Y 軸代表圓周。

  • 漏斗圖和金字塔圖類型只使用主座標軸,X 軸代表垂直堆疊 (堆疊上的每個項目由一個資料點表示)。 Y 軸則根據您的設定,可代表每個項目的區域或高度。

下表顯示每個座標軸一般在圖表區域中的位置。

Position

主 X 軸

Bottom

主 Y 軸

次 X 軸

靠上

次 Y 軸

自訂標尺、格線和刻度記號

根據預設,Chart 控制項會根據資料數列,自動設定圖表區域中座標軸的標尺。 您可以手動設定每個座標軸的 MinimumMaximumIntervalIntervalOffsetIntervalTypeIntervalOffsetType 屬性。 您可以針對座標軸的 MajorGridMinorGridMajorTickMarkMinorTickMarkLabelStyle 屬性定義不同設定,進一步自訂座標軸。 如果在座標軸和其中一個元件設定相同屬性 (例如,AxisYAxisY.MajorGrid 中的Minimum 屬性),元件設定將取得優先權。

Axis.Interval 設定為 Auto 時,Axis.IntervalAutoMode 屬性會決定應計算多少間隔。 如果您的圖表在執行階段經常調整大小或重新繪製,可以將 Axis.IntervalAutoMode 屬性設定為 VariableCount。 這樣一來,圖表就會動態計算座標軸間隔。 如果圖表間隔會根據資料而以不同的方式顯示,這就很有用。

您也可以將 Axis.IsLogarithmic 屬性設定為 true,以使用對數標尺。

使用交叉點

圖表區域會從「交叉點」(Crossing Point) 繪製資料,交叉點代表 X 軸和 Y 軸交集的值。 例如,如果 0 是主 Y 軸的交叉點,在直條圖中,值為 5 的資料點會成為在 Y=0 線以上延伸的直條,而值為 -5 的資料點則會成為在 Y=0 線以下延伸的直條。

根據預設,圖表區域會自動決定交叉點。 請使用 Axis.Crossing 屬性來自訂交叉點值。

注意事項注意事項

您在 Axis.Crossing 中指定的值必須介於您在 Axis.MinimumAxis.Maximum 屬性中指定的上限和下限之間。

將交叉點變更為非預設值,可能會導致軸標籤和刻度記號與交叉點一起移入繪圖區域。 若要讓軸標籤和刻度記號維持在繪圖區域以外,請將 Axis.IsMarksNextToAxis 屬性設定為 False。

使用刻度分欄

「刻度分欄」(Scale Break) 是在 Y 軸上刻意設定的分隔符號,最常用來重新分配圖表上的資料點。 當要繪製之資料的高低值差異甚大時,這有助於改善可讀性。 請在 Axis.ScaleBreakStyle 屬性中設定刻度分欄。

使用帶狀線

繪圖區域中的「帶狀線」(Strip Line) 會描繪出個別資料點的外框,或強調繪圖區域中值得注意的區域。 若要使用帶狀線,請使用 Axis.IsInterlaced 屬性或 Axis.StripLines 屬性。

如果將 Axis.IsInterlaced 屬性設定為 True,圖表會針對個別座標軸,每隔一個格線間隔繪製帶狀線。 如果個別座標軸不使用格線,則會使用座標軸的刻度記號或標籤來決定交錯式帶狀線間隔。 您可以使用 Axis.InterlacedColor 屬性設定帶狀線的色彩。

Axis.StripLines 集合屬性 (StripLinesCollection 物件) 會儲存 StripLine 物件。 Chart 控制項會根據 Axis.StripLinesStripLine 物件的疊置順序 (Z-order) 繪製帶狀線。 每個 StripLine 物件會在指定的寬度、間隔和位移重複繪製。 若要繪製非重複帶狀線,請將 StripLine.Interval 設定為較大的數字,讓圖表只容納得下一個重複的執行個體。

下列程式碼示範如何使用 Axis.StripLines 屬性,在主 Y 軸的值 20 和 60 之間繪製帶狀線。

chart1.ChartAreas(0).AxisY.StripLines.Add(New StripLine())
chart1.ChartAreas(0).AxisY.StripLines(0).BackColor = Color.FromArgb(80, 252, 180, 65) 
chart1.ChartAreas(0).AxisY.StripLines(0).StripWidth = 40 
chart1.ChartAreas(0).AxisY.StripLines(0).Interval = 1000 
chart1.ChartAreas(0).AxisY.StripLines(0).IntervalOffset = 20 
chart1.ChartAreas[0].AxisY.StripLines.Add(new StripLine()); 
chart1.ChartAreas[0].AxisY.StripLines[0].BackColor = Color.FromArgb(80, 252, 180, 65); 
chart1.ChartAreas[0].AxisY.StripLines[0].StripWidth = 40; 
chart1.ChartAreas[0].AxisY.StripLines[0].Interval = 10000; 
chart1.ChartAreas[0].AxisY.StripLines[0].IntervalOffset = 20;

請參閱

參考

System.Windows.Forms.DataVisualization.Charting

System.Web.UI.DataVisualization.Charting