UltraDataChart コントロールの NumericRadiusAxis 図形は、チャートの中心を基点としてチャート プロット領域の境界の外側を指す直線の形をしています。この軸の主グリッド線は半径の値が増えるに従い円のようになります(図 1)
図 1: NumericRadiusAxis の形状の実装例
このタイプの軸は、極座標シリーズ (NumericAngleAxis と組み合わせて) のみと、または ラジアル シリーズ (CategoryAngleAxis と組み合わせて) と使用できます。特定のシリーズで必要となる軸タイプの詳細については、「シリーズ要件」のトピックを参照してください。
NumericRadiusAxis には以下の軸交差プロパティがあります。
CrossingValue – NumericRadiusAxis が指される方向。有効範囲は 0 から 360 の範囲です。デフォルトで、この値は CategoryAngleAxis または NumericAngleAxis で 3 時の位置に対応するゼロに設定されています。CrossingValue プロパティの値は、NumericRadiusAxis を 3 時の位置から時計回りに移動する度数を示します。たとえば、CrossingValue プロパティで 90 という値を設定すると、NumericRadiusAxis は 6 時の位置に移動し、270 という値を設定すると、12 時の位置に移動します。
CrossingAxis – NumericRadiusAxis を交差する UltraDataChart コントロールの Axes    コレクションの軸。複数の NumericRadiusAxis とひとつの NumericAngleAxis または CategoryAngleAxis が UltraDataChart コントロールの Axes コレクションにある場合、このプロパティは NumericAngleAxis (極座標シリーズ) または CategoryAngleAxis (ラジアル シリーズ) およびその逆にバインドする必要があります。
表 1: CrossingAxis プロパティにバインドできる軸タイプ
以下のコードは、UltraDataChart コントロールで NumericRadiusAxis と CrossingAxis プロパティおよび CrossingValue プロパティを使用する方法を示します。NumericAngleAxis の先頭からゼロ度の角度で NumericRadiusAxis が NumericAngleAxis と交差するように設定します。この結果は、以下の図 2 に示されます。
Visual Basic の場合:
Dim DataChart As New UltraDataChart() Dim AngleAxis As New NumericAngleAxis() Dim RadiusAxis As New NumericRadiusAxis() RadiusAxis.CrossingAxis = AngleAxis RadiusAxis.CrossingValue = 0 AngleAxis.CrossingAxis = RadiusAxis AngleAxis.CrossingValue = 150 DataChart.Axes.Add(AngleAxis) DataChart.Axes.Add(RadiusAxis)
C# の場合:
var DataChart = new UltraDataChart(); var AngleAxis = new NumericAngleAxis(); var RadiusAxis = new NumericRadiusAxis(); RadiusAxis.CrossingAxis = AngleAxis; RadiusAxis.CrossingValue = 0; AngleAxis.CrossingAxis = RadiusAxis; AngleAxis.CrossingValue = 150; DataChart.Axes.Add(AngleAxis); DataChart.Axes.Add(RadiusAxis);
図 2: NumericAngleAxis の 3 時の位置で UltraDataChart コントロールと NumericRadiusAxis が交差
NumericRadiusAxis には以下の範囲プロパティがあります。
MinimumValue – 軸が開始する位置
MinimumValue – 軸が終了する位置
Interval – NumericRadiusAxis の連続する主グリッド線または半径の輪の間の間隔
デフォルトで、UltraDataChart コントロールは自動範囲を使用します。これにより、MinimumValue プロパティが最小の半径データ列を持つデータ ポイントに設定され、MaximumValue プロパティが最大の半径データ列を持つデータ ポイントに設定されます。ただし、NumericRadiusAxis で値範囲を手動で設定すると、この範囲外の半径データ列を持つすべてのデータ ポイントは非表示になります。たとえば、0 から 200 までの半径データ列を持つデータ ポイントのコレクションがシリーズと 50 (MinimumValue) と 100 (MaximumValue) の値範囲にバインドされており、NumericRadiusAxis で設定されると、チャートは、半径データ列が 50 から 100 のデータ ポイントのみを表示します。
以下のコードは、UltraDataChart コントロールで NumericRadiusAxis と範囲値を使用する方法を示します。半径軸範囲を 0 から 150 の間に、主グリッド線の間隔を 50 に設定します。この結果は、以下の図 3 に示されます。
Visual Basic の場合:
Dim DataChart As New UltraDataChart()
Dim RadiusAxis As New NumericRadiusAxis()
RadiusAxis.MinimumValue = 0
RadiusAxis.MaximumValue = 150
RadiusAxis.Interval = 50
DataChart.Axes.Add(RadiusAxis)
C# の場合:
var DataChart = new UltraDataChart(); var RadiusAxis = new NumericRadiusAxis(); RadiusAxis.MinimumValue = 0; RadiusAxis.MaximumValue = 150; RadiusAxis.Interval = 50; DataChart.Axes.Add(RadiusAxis);
図 3: 軸範囲を 0 から 150 の間に、間隔を 50 に設定した NumericRadiusAxis
NumericRadiusAxis には、軸スケールを構成するための 2 つの固有のプロパティがあります。
RadiusExtentScale – 最大半径として使用する外側の半径範囲のパーセンテージ、つまりチャートの中心から最大半径をどの位の範囲にするのかを定義します。有効範囲は 0.0 から 1.0 の範囲です。
InnerRadiusExtentScale – 最小半径として使用する内側の半径範囲のパーセンテージ、つまりチャートの中心の空白スペースの大きさをどの程度にするのかを定義します。たとえば、InnerRadiusExtentScale プロパティで値 0 を設定すると、チャートの中心には空白スペースができません。有効範囲は 0.0 から 1.0 の範囲です。
チャートで半径線と軸ラベルを正しく描画するためには、RadiusExtentScale プロパティの値は常に InnerRadiusExtentScale プロパティよりも大きくする必要があります。
以下のコードは、UltraDataChart コントロールで NumericRadiusAxis と半径範囲スケールを使用する方法を示します。内側の半径範囲をチャートの半径 20% に増やし、外側の半径範囲をチャートの半径の 80% に減らします。これにより、チャートの中心に空白スペースができ、数値角度軸の外側にラベル用のスペースができます。この結果は、以下の図 4 に示されます。
Visual Basic の場合:
Dim DataChart As New UltraDataChart()
Dim RadiusAxis As New NumericRadiusAxis()
RadiusAxis.RadiusExtentScale = 0.8
RadiusAxis.InnerRadiusExtentScale = 0.2
DataChart.Axes.Add(RadiusAxis)
C# の場合:
var DataChart = new UltraDataChart();
var RadiusAxis = new NumericRadiusAxis();
RadiusAxis.RadiusExtentScale = 0.8;
RadiusAxis.InnerRadiusExtentScale = 0.2;
DataChart.Axes.Add(RadiusAxis);
図 4: 半径範囲スケールをチャートの半径 20% と 80% に指定した NumericRadiusAxis