C#で使用されるグラフの種類の一覧を画像付きで紹介します。よく使われるグラフを中心に取り上げていきます。どんなグラフがあるのか気なる方、どれを使用しようか迷ってる方の参考になれば幸いです。
C#(WPF)でグラフを扱う方法
そもそもグラフ(チャート)の使い方を知らない・知りたいという方はソースコードは以下記事を参考にしてください。
プログラム上、どこでグラフの種類が決まっているかというと以下の箇所です(上記事より抜粋)。
画像では「Line」となっている場所を変えれば、グラフの種類が変わるということです。
「SeriesChartType.グラフの種類」でグラフの種類が決まる
では、よく使いそうなグラフを順番に画像付きで紹介します。
カッコ()の中が、プログラム上でのグラフの種類(名前)です。
線グラフ系
おそらく最も使われるであろうグラフ。標準的なグラフであるため特に難しい点はないと思います。
ここでは2種類を紹介します。
折れ線グラフ(Line)
普通の折れ線グラフですね。
曲線グラフ(Spline)
点同士を曲率を持つ滑らかな線で結ぶグラフ。
点グラフ系
シンプルな点グラフ(Point)
単純に推移を示す場合は線グラフのほうがよいですが、連続性のない情報であったり見た目をすっきりさせたい場合はこのような使い方もありでしょう。
散布図にする場合は、Series名.Points.Add(数値)ではなく
Series名.Points.AddXY(数値X , 数値Y)
で要素を追加しましょう。
バブルチャート(Bubble)
位置と規模間を同時に伝えたい場合に使用されるグラフです。
プロット要素追加時に引数を一つ増やして
Series名.Point.AddXY(数値X , 数値Y , サイズ値)
とすることでプロットの大きさを指定できます。
棒グラフ系
縦向きと横向きの棒があります。もちろんC#のグラフも両方用意されています。
シンプルな棒グラフ(Bar/Column)
横向き(Bar)の様子は以下の通り。
縦向き(Column)の様子は以下の通り。
積み上げ棒グラフ(Stacked系)
一つの棒に複数要素を持つ棒グラフになります。この場合Seriesを複数使用します。
以下ではSeries2つ、縦棒のグラフのサンプルです。
値の大きさで棒の長さを決める場合は、StackedBar(横棒)/StackedColumn(縦棒)を使用します。
割合を表現したい場合は、StacledBar100(横棒)/StacledColumn100(縦棒)を使用します。
棒の長さは一定で、それぞれの値の割合に応じて色配分がなされます。
円グラフ系
主に割合表示で使用される円グラフ系。
円グラフとドーナツグラフがありますが明確な使い分けは個人的には謎。ドーナツのほうが真ん中に情報を記載しやすいので、スペースの節約になる、とかですかね。
円グラフ系は少し癖があるので使いこなしが気になる方は以下記事を参考にしてください。角度調整などについて書いています。
円グラフ(Pie)
デフォルトで使用すると開始位置の角度が斜めなので、不格好になります。直し方を知りたい方は上の記事をご覧ください。
ドーナツグラフ(Doughnut)
こちらも何も設定しないと同様に開始位置の角度が斜めです。
ドーナツの中央に合計値やいつの情報かなどを記載するのが定番ですね。
他
あまり使う頻度はないかと思いますが、いくつか気になったものをピックアップしてます。
面グラフ(Area)
折れ線グラフの派生グラフといったところの面グラフ。総量や比率の推移を伝えたい場合に使用されます。
よく発電の仕方(火力、原子力、水力etc)の割合推移グラフで見かけるイメージ。
レーダーグラフ(Radar)
値同士のバランスや、他のサンプルとの全体的な比較をするのに使われるグラフ。
長所・短所が分かりやすいので、テストの成績やゲームでのキャラの能力値の表現でよく使われてますね。
カッコいいので使いたいが、使う機会がないグラフの代表
さいごに
一般的によく使われるグラフの外観を紹介しました。これらを使いこなせれば十分数値の可視化ができると思います。
プログラムの一部を変えるだけで外観が大きく変わるので、触っていて楽しい分野ですね。
コメント