TrueChart for WinForms (C1Chart3D)
数値計算から直接データをグラフ化する
データ > 数値計算から直接データをグラフ化する

グラフデータをファイルから読み込む作業がわずらわしい場合もよくあります。たとえば、データがプログラミングによって数学的に計算されたものであれば、いったんファイルに保存した後にグラフに読み込むより、直接グラフに読み込む方が効率的です。こうすると処理時間が短縮できるだけでなく、プログラミング処理も簡単になります。

次のコードでは、あらかじめ計算した2次元配列を使用して、標準グリッドデータセットを作成し、この配列データをグラフに転送する例を示します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
' 配列を計算します。
Dim Rnd As Random = New Random()
Dim m,n As Integer
Dim z(20,30) As Double
For m = 0 To 30
  For n = 0 To 20
   If m Mod 2 = 0 Then
     Z(n, m) = m * 5 * Rnd.NextDouble() + Math.Sqrt(2 * m * m * n)
   Else
     Z(n, m) = m * -5 * Rnd.NextDouble() + Math.Sqrt(2 * m * n)
   End If
  Next n
Next m

' 配列を計算します。
Dim gridset As Chart3DDataSetGrid
gridset=New Chart3DDataSetGrid( 0, 0, 1, 1, z)
C1Chart3D1.ChartGroups(0).ChartData.Set = gridset

C# コードの書き方

C#
コードのコピー
// 配列を計算します。
Random rnd = new Random();
double[,] z = new  double[21, 31];
for( int m = 0; m<31; m++)
  for( int n = 0; n<21; n++)
 {
  if(m%2==0)
   z[n,m]= m * 5 * rnd.NextDouble() + Math.Sqrt(2 * m * m * n);
  else
   z[n,m]= m * -5 * rnd.NextDouble() + Math.Sqrt(2 * m * n);
 }

// 配列を計算します。
Chart3DDataSetGrid gridset=new Chart3DDataSetGrid(0,0,1,1,z);
C1Chart3D1.ChartGroups[0].ChartData.Set = gridset;
関連トピック