ラベル (グラフ コントロール)
グラフ コントロールでは、軸ラベルとデータ ポイント ラベルを使用して、グラフをわかりやすくすることができます。
軸ラベルの使用
グラフ コントロールでグラフ領域の軸にラベルを付けるには、次の 3 つの方法があります (優先順位の低いラベルから高いラベルの順)。
数値による軸のラベル付け
テキストによる軸のラベル付け
カスタム ラベルによる軸のラベル付け
これらの方法は、主にラベルのテキストを生成する方法に違いがあります。個々の軸に異なる方法を使用できます。たとえば、Y 軸にはカスタム ラベル、X 軸にはテキスト ラベルを使用できます。
数値による軸のラベル付け
軸にカスタム ラベルが含まれず、描画されるデータに軸ラベルがない場合、Axis.Interval プロパティに指定された間隔で軸ラベルが自動的に表示されます。このプロパティの詳細については、「軸」を参照してください。
テキストによる軸のラベル付け
DataPoint.AxisLabel プロパティを使用して、特定のデータ セットに従って軸にラベル付けすることができます。ラベル文字列を使用してこのプロパティを設定すると、データ ポイントの位置の軸にラベル文字列が表示されます。
![]() |
---|
グラフ コントロールに大きなデータ セットが含まれる場合、軸ラベルを選択して表示できます。すべての軸ラベルを表示するには、Axis.Interval プロパティを 1 に設定します。 |
次のコード例では、2 つのデータ ポイントについて軸上に 2 つのラベルを設定します。
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 にカスタム ラベル使用する場合、FromPosition プロパティに 1.5、ToPosition プロパティに 2.5 を設定します。
RowIndex プロパティは、カスタム ラベルを表示する行に指定します。最初のラベル行にカスタム ラベルを使用する場合、グラフ領域に軸のスケールのラベルは表示されません。2 行目以降に表示できるラベルはカスタム ラベルのみです。
軸ラベルのスタイルと形式
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 プロパティにキーワードを使用します。実行時に、このキーワードは適切な値で置き換えられます。次のコード例では、各データ ポイントに複数行のラベルを表示し、1 行目には Y 値、2 行目には 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