Chart3D for WPF/Silverlight では、最初のインデックスが X に対応し、2番目のインデックスが Y に対応する z 値の2次元配列として定義されたデータ値がサポートされます。Chart3D の最も一般的な使用方法の1つは、3D 関数のプロットです。次のように定義された関数をプロットしてみます。
z(x,y) = x*x - y*y;
変域は次のとおりです。
-1 <= x <= 1
-1 <= y <= 1
それには、次の手順に従います。プロジェクトで[表示]→[コード]を選択します。
ページの先頭に次の文を追加します。
次のコードを追加してデータを定義します。
C# |
コードのコピー
|
---|---|
public MainWindow() { InitializeComponent(); c1Chart3D1.Children.Clear(); // 10 x 10 の 2D 配列を作成します int xlen = 10, ylen = 10; var zdata = new double[xlen, ylen]; double stepx = 2.0 / (xlen - 1); double stepy = 2.0 / (ylen - 1); // 範囲内のすべてのポイントで関数を計算します for (int ix = 0; ix < xlen; ix++) for (int iy = 0; iy < ylen; iy++) { double x = -1.0 + ix * stepx; // -1 <= x <= 1 double y = -1.0 + iy * stepy; // -1 <= x <= 1 zdata[ix, iy] = x * x - y * y; } // データ系列を作成します var ds = new GridDataSeries(); ds.Start = new Point(-1, -1); // x, y の開始値 ds.Step = new Point(stepx, stepy); // x, y の1目盛り ds.ZData = zdata; // z-values // 系列をグラフに追加します c1Chart3D1.Children.Add(ds); } |
次の手順では、グラフの外観を変更します。