バージョン

軸ラベル形式の構成

XamDataChart™では、軸ラベルは書式を適用しない常にシンプルなテキストを表示します。ただし、 任意のタイプの の ] ifdef::sl,wpf,win-forms,win-universal[ Label プロパティに書式文字列を設定して軸ラベルの書式を変更できます。 Axis.FormatLabel イベントのハンドラー内の AxisFormatLabelEventArgsLabel プロパティ。

たとえば、y 軸に沿って通貨データをプロットしている場合、デフォルトのラベルは通貨値の小数点表現を表示するのみです。これらの値を通貨記号と一緒に表示する場合、少数を指定した番号が後に続く C 書式指定子を使用する必要があります。.NET フレームワーク複合書式文字列の詳細は、以下のオンライン リソースを参照してください。

以下のコード例は、日付書式設定と通貨書式設定を使用して CategoryXAxisNumericYAxis のラベルを書式設定する方法を示します。

XAML の場合:

<ig:XamDataChart.Axes>
    <ig:CategoryXAxis FormatLabel="OnCategoryAxisFormatLabel" />
    <ig:NumericYAxis FormatLabel="OnPricesAxisFormatLabel" />
    <ig:NumericYAxis FormatLabel="OnVolumeAxisFormatLabel" />
</ig:XamDataChart.Axes>

これは FormatLabel イベントを各軸のイベント ハンドラーに加入します。このハンドラーは、以下のコード スニペットのようにコード ビハインドで実装されます。

C# の場合:

var commonAxis = new CategoryXAxis();
commonAxis.FormatLabel += OnCategoryAxisFormatLabel;

var pricesAxis = new NumericYAxis();
pricesAxis.FormatLabel += OnPricesAxisFormatLabel;

var volumeAxis = new NumericYAxis();
volumeAxis.FormatLabel += OnVolumeAxisFormatLabel;

...

private void OnVolumeAxisFormatLabel(object sender, AxisFormatLabelEventArgs e)
{
    e.Label = string.Format("{0:#,0} K", (double)e.Item);
}

private void OnPricesAxisFormatLabel(object sender, AxisFormatLabelEventArgs e)
{
    e.Label = string.Format("{0:C1}", (double)e.Item);
}

private void OnCategoryAxisFormatLabel(object sender, AxisFormatLabelEventArgs e)
{
   var dataItem = (Sale)e.Item;
   e.Label = string.Format("{0:MMM dd}", dataItem.Date);
}
Note
注:

AxisFormatLabelEventArgsItem プロパティのタイプは、すべての数値軸に対して常に double タイプです。ただし、カテゴリ軸の場合、Item プロパティのタイプはデータ項目のタイプと同じです。この場合、Sale オブジェクトのリストが CategoryXAxisItemsSource プロパティにバインドされているため、Item は Sale オブジェクトです。

以下の画像は、XamDataChart コントロールが CategoryXAxis および NumericYAxis の書式設定通貨 でどのように見えるかを示しています。

DataChart Axes Axis Label Format 01.png

関連トピック: