たまに数値の配列を視覚的に眺めてみたい衝動にかられます。
C#で簡単にグラフ化するコントロールがあるようなので試してみます。
ソース
//
// チャート
//
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Windows.Forms.DataVisualization.Charting;
using System.Collections.Generic;
using System.Linq;
// コンパイル
// csc ChartTest.cs /r:System.Windows.Forms.DataVisualization.dll
class Form1 : Form
{
// コンストラクタ
Form1()
{
// 配列
var values = new List<int> {0,10,20,30,40,50,};
var chart = new Chart {
Dock = DockStyle.Fill,
};
this.Controls.Add(chart);
// デフォルトグラフをクリア
chart.Series.Clear();
chart.ChartAreas.Clear();
// チャートエリアの追加
chart.ChartAreas.Add(new ChartArea("area1"));
// 最大値
chart.ChartAreas["area1"].AxisY.Maximum = values.Max() + 10;
// グラフを追加
chart.Series.Add("graph1");
// 縦棒グラフ
chart.Series["graph1"].ChartType = SeriesChartType.Column;
// Chartに配列をセット
foreach(var v in values) {
chart.Series["graph1"].Points.AddY(v);
}
Text = "graph1";
}
// エントリーポイント
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
}
コンパイル
csc ChartTest.cs /r:System.Windows.Forms.DataVisualization.dll
結果
ChartAreas
やSeries
など理解が薄い項目もありますが、ふわっとした理解でも、なんとなくグラフが出来上がりました。
プロパティがいろいろあるようなので、そちらをいじれば欲しいグラフの形を生成することも出来るでしょう。
コメント