在 Chart 控制項中,您可以使用軸標籤和資料點標籤,讓圖表提供更多資訊。
使用軸標籤
Chart 控制項會以三種不同的方式為圖表區域座標軸加上標籤,優先順序為最低到最高:
為座標軸加上數字標籤
使用文字為座標軸加上標籤
使用自訂標籤為座標軸加上標籤
這些方法主要的差異之處在於產生標籤文字的方式。每個座標軸可以使用不同的方法。例如,Y 軸可以使用一組自訂標籤,而 X 軸可以使用文字標籤。
為座標軸加上數字標籤
如果座標軸未包含自訂標籤,而繪圖區域沒有軸標籤,Chart 控制項會自動依 Axis.Interval 屬性指定的間隔顯示軸標籤。如需這個屬性的詳細資訊,請參閱座標軸
使用文字為座標軸加上標籤
您可以使用 DataPoint.AxisLabel 屬性,根據特定資料集為座標軸加上標籤。使用標籤字串設定這個屬性之後,圖表便會在座標軸上該資料點的位置顯示標籤字串。
注意
當 Chart 控制項包含大型資料集時,可能會選擇性顯示軸標籤。若要確定看到所有軸標籤,請將 Axis.Interval 屬性設定為 1。
下列程式碼範例會在座標軸上為兩個資料點設定兩個標籤。
Chart1.Series("Default").Points(0).AxisLabel = "First Point"
Chart1.Series("Default").Points(1).AxisLabel = "Second Point"
Chart1.Series["Default"].Points[0].AxisLabel = "First Point";
Chart1.Series["Default"].Points[1].AxisLabel = "Second Point";
使用自訂標籤為座標軸加上標籤
使用自訂標籤可為座標軸提供自訂文字。自訂標籤是使用 CustomLabels 集合屬性實作的。如果您使用自訂標籤,繪圖區域不會從資料點顯示軸標籤。
使用 CustomLabel 物件時,您必須設定每個 CustomLabel 物件的 ToPosition 和 FromPosition 屬性,而且這些屬性必須指定標籤文字區域的寬度。請不要指派相同的值給這兩個屬性,因為它們代表的是範圍。若要將自訂標籤放置在資料點及其相關刻度標記的正下方,請將 FromPosition 屬性設定為該資料點的座標軸值減去刻度標記的一半,然後將 ToPosition 屬性設定為該資料點的座標軸值加上刻度標記的一半。例如,如果座標軸的間隔為 1 (1、2、3…),而您想要在 X=2 的位置使用自訂標籤,請將 ToPosition 和 FromPosition 屬性分別設定為 1.5 和 2.5。
RowIndex 屬性會指定自訂標籤顯示在哪個資料列上。如果在第一個標籤資料列中使用自訂標籤,圖表區域不會從軸刻度顯示任何標籤。第二個資料列及以後的資料列只允許使用自訂標籤。
軸標籤樣式與格式
您可以使用 Axis 物件的 LabelStyle 屬性設定軸標籤樣式。您在這個屬性中設定的標籤樣式屬性 (例如 LabelStyle.Font),會套用到座標軸的標籤。如果軸標籤太靠近彼此,您可以將 LabelStyle.LabelsAutoFit 或 LabelStyle.Offset 屬性設定為 True。
當您為座標軸加上數字標籤時,也可以使用 LabelStyle.Format 屬性格式化數字。
下列程式碼顯示如何將主要 Y 軸的格式設定為貨幣。
Chart1.ChartAreas("Default").AxisY.LabelStyle.Format = "C"
Chart1.ChartAreas["Default"].AxisY.LabelStyle.Format = "C";
下列程式碼會在主要 X 軸上顯示星期資訊。如需將日期和時間值顯示為軸標籤的詳細資訊,請參閱使用日期和時間值。
Chart1.ChartAreas("Default").AxisX.LabelStyle.Format = "dddd"
Chart1.ChartAreas["Default"].AxisX.LabelStyle.Format = "dddd";
為資料點加上標籤
您可以在繪圖區域中顯示資料點標籤。若要將資料點值顯示為標籤,請使用 Series 或 DataPoint 物件中的 IsValueShownAsLabel 屬性。若要將其他文字顯示為資料點標籤,請使用 Series.Label 屬性。
若要在標籤中使用資料,請在 Series.Label 屬性中使用關鍵字。在執行階段,圖表會以適當的值取代關鍵字。例如,下列程式碼會在每個資料點顯示多行標籤,Y 值顯示在第一行,X 值顯示在第二行。
Chart1.Series("Series1").Label = "Y = #VALY" + ControlChars.Lf + "X = #VALX"
Chart1.Series["Series1"].Label = "Y = #VALY\nX = #VALX";
如需詳細資訊,請參閱關鍵字。
使用智慧標籤
根據圖表類型,您可使用 Series.SmartLabelStyle 屬性為沒有衝突的資料點設定標籤。當資料點叢集在一起時,這樣的作法就很有用。
注意
Series.SmartLabelStyle 屬性對於橫條圖、範圍橫條圖、圓形圖、環圈圖、範圍直條圖、堆疊區域圖、100% 堆疊區域圖、堆疊橫條圖、100% 堆疊橫條圖類型沒有作用。
若要啟用智慧標籤,請使用下列程式碼。
Chart1.Series("Series1").SmartLabelStyle.Enabled = true
Chart1.Series["Series1"].SmartLabelStyle.Enabled = true;
您接著可以使用 SmartLabelStyle 中的屬性 (例如 CalloutStyle 和 CalloutLineColor) 來控制智慧標籤的外觀。
請參閱
參考
System.Windows.Forms.DataVisualization.Charting
System.Web.UI.DataVisualization.Charting