DataToolTipLayer tooltipLayer = new DataToolTipLayer()
{
HeaderText = "My Custom Data Tooltip Header",
SummaryType = DataLegendSummaryType.Total,
SummaryTitleText = "Grand Total:"
};
dataChart1.Series.Add(tooltipLayer);
Ultimate UI for Windows Forms では、DataTooltipLayer は、シリーズの値とタイトル、およびシリーズの凡例バッジをツールチップに表示します。さらに、シリーズの行と値の列をフィルタリングし、値をスタイル設定し、書式を設定するための DataLegend の多くの構成プロパティを提供します。このツールチップ タイプは、UltraCategoryChart、UltraFinancialChart、および 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 コレクションに応じて、ラベル、値、および単位の複数の列を含めることができます。
タイトルの列には、チャートにプロットされた各 Series
の Title
プロパティに由来する凡例バッジとシリーズ タイトルが表示されます。
ラベルの列には、ツールチップ レイヤーの IncludedColumns または ExcludedColumns コレクション内のさまざまなプロパティパスの名前または省略形が表示されます。
値の列には、一連の値が省略形のテキストとして表示されます。この省略形は、ValueFormatAbbreviation プロパティを使用して書式設定でき、このプロパティを Auto
または Shared
に設定することですべての数値に同じ省略形を適用できます。または、ユーザーは Independent
、Kilo
、Million
などの他の省略形を選択できます。省略値の精度は、最小桁数と最大桁数にそれぞれ ValueFormatMinFractions と ValueFormatMaxFractions を使用して制御されます。
単位の列には、省略記号や単位テキストが表示されます。これらは、すべての列に 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 に含まれる列は、通常、基になるデータ項目の値パスに対応しますが、ファイナンシャル シリーズには、正しくプロットするために必要な High
、Low
、Open
、Close
パス、および、いくつかの特別なパスを含めるオプションがあります 。凡例内に TypicalPrice
、Change
、および 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 で始まり、テキストの色、フォント、およびマージンのスタイルを設定できます。たとえば、これらのそれぞれのテキストの色を設定する場合は、TitleTextColor、LabelTextColor、ValueTextColor、および 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);