バージョン

非合成チャートの FillSceneGraph イベント内の軸にアクセス

値を軸にマップするのは、FillSceneGraph イベントを使用している時に一般的なシナリオです。この詳細なガイドは、非合成チャートから既存の軸にアクセスする方法を示します。

この例は柱状グラフとデータの配列を使用します。

非合成チャートのために FillSceneGraph イベント内の軸を取得します。

  1. コードの記述を開始する前にコードビハインドに使用/インポートのディレクティブを配置します。そうすれば、メンバーは完全に記述された名前を常にタイプする必要がなくなります。

Visual Basic の場合:

Imports Infragistics.UltraChart.Core
Imports Infragistics.UltraChart.Core.Primitives
Imports Infragistics.UltraChart.Data
Imports Infragistics.UltraChart.Resources
Imports Infragistics.UltraChart.Resources.Appearance
Imports Infragistics.UltraChart.Shared.Styles

C# の場合:

using Infragistics.UltraChart.Core;
using Infragistics.UltraChart.Core.Primitives;
using Infragistics.UltraChart.Data;
using Infragistics.UltraChart.Resources;
using Infragistics.UltraChart.Resources.Appearance;
using Infragistics.UltraChart.Shared.Styles;
  1. FillSceneGraph イベントを作成します。

Visual Basic の場合:

Private Sub UltraChart1_FillSceneGraph(ByVal sender As System.Object, _
  ByVal e As Infragistics.UltraChart.Shared.Events.FillSceneGraphEventArgs) _
  Handles UltraChart1.FillSceneGraph

C# の場合:

private void ultraChart1_FillSceneGraph(object sender,
  Infragistics.UltraChart.Shared.Events.FillSceneGraphEventArgs e)
  1. 機能をマッピングするために必要なので x 軸値と y 軸値を取得します。e.Grid 表には軸があります。

Visual Basic の場合:

Dim xAxis As IAdvanceAxis = CType(e.Grid("X"), IAdvanceAxis)
Dim yAxis As IAdvanceAxis = CType(e.Grid("Y"), IAdvanceAxis)

C# の場合:

IAdvanceAxis xAxis = (IAdvanceAxis)e.Grid["X"];
IAdvanceAxis yAxis = (IAdvanceAxis)e.Grid["Y"];
  1. Box Primitive を作成して以下の値を設定します:

    • Color — Blue

    • Width — 50

    • Height — 50

Visual Basic の場合:

Dim box As New Box(New Rectangle(CInt(xAxis.Map(1)), CInt(yAxis.Map(6)), 50, 50))
box.PE.Fill = Color.Blue

C# の場合:

Box box = new Box(new Rectangle((int)xAxis.Map(1), (int)yAxis.Map(6), 50, 50));
box.PE.Fill = Color.Blue;
  1. Box Primitive を SceneGraph に追加します。

Visual Basic の場合:

e.SceneGraph.Add(box)

C# の場合:

e.SceneGraph.Add(box);
  1. Load イベントで、チャートをデータの配列にバインドします。

Visual Basic の場合:

Me.UltraChart1.Data.DataSource = _
  New Integer() {1, 2, 4, 5, 6, 7, 8, 9, 9, 9, 12, 13, 14, 15, 16}
Me.UltraChart1.Data.DataBind()

C# の場合:

this.ultraChart1.Data.DataSource =
  new int[] { 1, 2, 4, 5, 6, 7, 8, 9, 9, 9, 12, 13, 14, 15, 16 };
this.ultraChart1.Data.DataBind();
  1. アプリケーションを保存して実行します。以下のチャートのように表示されるはずです。

Access Axes Inside FillSceneGraph Event Non Composite 01.png