バージョン

チャートのデータ ツールチップ

Ultimate UI for Windows Forms では、DataTooltipLayer は、シリーズの値とタイトル、およびシリーズの凡例バッジをツールチップに表示します。さらに、シリーズの行と値の列をフィルタリングし、値をスタイル設定し、書式を設定するための DataLegend の多くの構成プロパティを提供します。このツールチップ タイプは、UltraCategoryChartUltraFinancialChart、および UltraDataChart コンポーネントのプロット領域内でマウスを動かすと更新されます。

データ ツールチップのプロパティ

DataTooltipLayer のすべてのプロパティには DataToolTip のプレフィックスが付けられ、UltraCategoryChart および UltraFinancialChart コンポーネントの API で公開されます。ただし、ラジアル チャート、極座標チャート、散布図で使用する場合は、DataTooltipLayer のインスタンスを作成し、それを UltraDataChart コンポーネントのシリーズ コレクションに追加する必要があります。

データ ツールチップの要素

DataTooltipLayer は、3 種類の行と 4 種類の列のセットを使用してコンテンツを表示します。

データ ツールチップの行

DataTooltipLayer の行には、ヘッダー行、シリーズ行、および集計行が含まれます。

ヘッダー行には、ホバーされたポイントの軸ラベルが表示され、HeaderText プロパティを使用して変更できます。

シリーズ行は、実際には、チャートにプロットされた各シリーズに対応する行のセットにすることができます。これらの行には、凡例バッジ、シリーズ タイトル、シリーズの実際の値 / 省略値、および指定されている場合は省略記号と単位が表示されます。

最後に、すべてのシリーズ値の合計を表示する集計行があります。デフォルトの集計タイトルは、シリーズの SummaryTitleText プロパティを使用して変更できます。また、SummaryType プロパティを使用して、シリーズ値の合計、最小、最大、または平均を集計行に表示するかどうかをカスタマイズできます。

以下のコードス ニペットは、上記のプロパティを設定して、集計のカスタム タイトルとカスタム ヘッダーを持つ Total 集計タイプの DataTooltipLayer を設定する方法を示しています。

C# の場合:

DataToolTipLayer tooltipLayer = new DataToolTipLayer()
{
    HeaderText = "My Custom Data Tooltip Header",
    SummaryType = DataLegendSummaryType.Total,
    SummaryTitleText = "Grand Total:"
};

dataChart1.Series.Add(tooltipLayer);

データ ツールチップの列

データ ツールチップ の列には、タイトル、ラベル、値、および単位の列が含まれます。チャートの各シリーズには、ツールチップ レイヤーの IncludedColumns または ExcludedColumns コレクションに応じて、ラベル、値、および単位の複数の列を含めることができます。

タイトルの列には、チャートにプロットされた各 SeriesTitle プロパティに由来する凡例バッジとシリーズ タイトルが表示されます。

ラベルの列には、ツールチップ レイヤーの IncludedColumns または ExcludedColumns コレクション内のさまざまなプロパティパスの名前または省略形が表示されます。

値の列には、一連の値が省略形のテキストとして表示されます。この省略形は、ValueFormatAbbreviation プロパティを使用して書式設定でき、このプロパティを Auto または Shared に設定することですべての数値に同じ省略形を適用できます。または、ユーザーは IndependentKiloMillion などの他の省略形を選択できます。省略値の精度は、最小桁数と最大桁数にそれぞれ ValueFormatMinFractionsValueFormatMaxFractions を使用して制御されます。

単位の列には、省略記号や単位テキストが表示されます。これらは、すべての列に UnitsText を設定するか、チャートの各シリーズで次のプロパティを使用して、DataTooltipLayer で設定できます:

  • カテゴリ シリーズ (例: ColumnSeries):

    • ValueMemberAsLegendUnit="K"

  • 財務物価シリーズ:

    • OpenMemberAsLegendUnit="K"

    • LowMemberAsLegendUnit="K"

    • HighMemberAsLegendUnit="K"

    • CloseMemberAsLegendUnit="K"

  • 範囲シリーズ:

    • LowMemberAsLegendUnit="K"

    • HighMemberAsLegendUnit="K"

  • ラジアル シリーズ:

    • ValueMemberAsLegendUnit="km"

  • 極座標シリーズ:

    • RadiusMemberAsLegendUnit="km"

    • AngleMemberAsLegendUnit="degrees"

上記の各プロパティには、前述のラベル列のテキストを判別するための対応する MemberAsLegendLabel プロパティもあります。

IncludedColumns および ExcludedColumns に含まれる列は、通常、基になるデータ項目の値パスに対応しますが、ファイナンシャル シリーズには、正しくプロットするために必要な HighLowOpenClose パス、および、いくつかの特別なパスを含めるオプションがあります 。凡例内に TypicalPriceChange、および Volume オプションを表示することができます。

以下のコード スニペットは、ValueMemberAsLegendUnit プロパティが設定された ColumnSeries のペアと、ink:Infragistics.Win.DataVisualization.UltraDataChart~Infragistics.Win.DataVisualization.DataToolTipLayer.html[DataTooltipLayer] に設定された最小/最大の分数を示しています。

C# の場合:

EnergyData energyDataSource = new EnergyData();

CategoryXAxis xAxis = new CategoryXAxis()
{
    ItemsSource = energyDataSource,
    Label = "Location"
};

NumericYAxis yAxis = new NumericYAxis();

ColumnSeries series1 = new ColumnSeries()
{
    XAxis = xAxis,
    YAxis = yAxis,
    ItemsSource = energyDataSource,
    ValueMemberPath = "Coal",
    ValueMemberAsLegendUnit = "K"
};

ColumnSeries series2 = new ColumnSeries()
{
    XAxis = xAxis,
    YAxis = yAxis,
    ItemsSource = energyDataSource,
    ValueMemberPath = "Solar",
    ValueMemberAsLegendUnit = "K"
};

DataToolTipLayer tooltipLayer = new DataToolTipLayer()
{
    ValueFormatMinFractions = 2,
    ValueFormatMaxFractions = 4
};

dataChart1.Axes.Add(xAxis);
dataChart1.Axes.Add(yAxis);

dataChart1.Series.Add(series1);
dataChart1.Series.Add(series2);
dataChart1.Series.Add(tooltipLayer);

データ ツールチップのスタイル設定

DataTooltipLayer は、各タイプの列をスタイル設定するためのプロパティを提供します。これらの各プロパティ名は、Title、Label、Value、Units で始まり、テキストの色、フォント、およびマージンのスタイルを設定できます。たとえば、これらのそれぞれのテキストの色を設定する場合は、TitleTextColorLabelTextColorValueTextColor、および UnitsTextColor プロパティを設定します。

以下のコード スニペットは、上記のスタイル設定プロパティを設定する方法を示しています。

C# の場合:

DataToolTipLayer tooltipLayer = new DataToolTipLayer()
{
    TitleTextColor = Brushes.LightGray,
    LabelTextColor = Brushes.LightGray,
    ValueTextColor = Brushes.Green,
    UnitsTextColor = Brushes.Green,
    UnitsText = "K"
};

dataChart1.Series.Add(tooltipLayer);

データ ツールチップのグループ化と配置

GroupingMode プロパティを` Grouped` または Individual に設定して、複数のシリーズのコンテンツを 1 つのツールチップにグループ化するか、各シリーズのコンテンツを複数のツールチップに分割することができます。Grouped モードでは、GroupedPositionModeX プロパティと GroupedPositionModeY プロパティを設定することにより、ツールチップが表示される場所をカスタマイズできます。これにより、ツールチップの水平方向と垂直方向の配置を、マウス位置に最も近いシリーズ ポイントに追従させるか、プロット領域の端に固定するかをカスタマイズできます。

以下のコード スニペットは、スクロールするとチャートの左上にピン固定される DataTooltipLayer を示しています。

C# の場合:

DataToolTipLayer tooltipLayer = new DataToolTipLayer()
{
    GroupingMode = DataToolTipLayerGroupingMode.Grouped,
    GroupedPositionModeX = DataTooltipGroupedPositionX.PinLeft,
    GroupedPositionModeY = DataTooltipGroupedPositionY.PinTop
};

dataChart1.Series.Add(tooltipLayer);

データ ツールチップ値の書式設定

DataTooltipLayer は、ValueFormatAbbreviation プロパティを使用して、大きな数値の自動省略形を提供します。これにより、単位の列に kilo、million、billion などの乗数が追加されます。ValueFormatMinFractions および ValueFormatMaxFractions を設定することにより、表示される小数桁数をカスタマイズできます。これにより、小数点以下に表示される最小桁数と最大桁数をそれぞれ決定できます。

以下のコード スニペットは、DataTooltipLayer の最小分数と最大分数を設定する方法を示しています。

C# の場合:

DataToolTipLayer tooltipLayer = new DataToolTipLayer()
{
    ValueFormatMinFractions = 2,
    ValueFormatMaxFractions = 4
};

dataChart1.Series.Add(tooltipLayer);

データ ツールチップの値モード

レイヤーの ValueFormatMode プロパティを変更することにより、DataTooltipLayer 内の値のデフォルトの 10 進表示を通貨表示に変更できます。DataTooltipLayer は、その ValueFormatCulture プロパティに対応するカルチャ タグを設定することにより、表示されている通貨記号のカルチャを変更する機能も公開します。

たとえば、以下のコード スニペットは、ValueFormatCulture が "en-GB" に設定され、ValueFormatMode が "Currency" に設定された DataTooltipLayer を作成します。

C# の場合:

DataToolTipLayer tooltipLayer = new DataToolTipLayer()
{
    ValueFormatCulture = "en-GB",
    ValueFormatMode = DataLegendValueMode.Currency
};

dataChart1.Series.Add(tooltipLayer);