FlexChartの手軽で強力な表現力を体感する ~ 複合チャート、ツールチップ、レンジセレクタ、トレンドライン
ダウンロード サンプルファイル (96.8 KB)
大量のデータを分析するときに必要なことは、最適な表現を探ると同時に何度でもその表示で手軽に見ることができることです。FlexChartは、アプリにグラフ表示という表現力を追加するコンポーネントなので、会社の文化や業務の流れに合わせた最適な操作で目的の表示が行えるという利点を提供します。第2回である今回は、FlexChart for WPFの多彩な表現力に注目します。
複合チャート:CZ1702CompositeChart
それでは前回と同じように、気象庁の過去の気象データ検索サイトから東京の平均気温と、降水量の月合計の関係性を分析してみましょう。
Modelとして次のようなクラスにデータを格納します。
public class DataItem
{
public DataItem(int year, double temp, double prec)
{
Year = year;
Temp = temp;
Prec = prec;
}
public int Year { get; set; }
public double Temp { get; set; }
public double Prec { get; set; }
}
気温と降水量を一つのグラフであらわすときは、気温は折れ線グラフ、降水量は棒グラフで表現し一つの図に合成するのが一般的です。このようなグラフを複合チャートといいます。FlexChartで複合チャートを作るのは非常に簡単です。
<c1:C1FlexChart BindingX="Year" ItemsSource="{Binding Data}">
<c1:C1FlexChart.Series>
<c1:Series SeriesName="気温" Binding="Temp" ChartType="Line"/>
<c1:Series SeriesName="降水量" Binding="Prec" ChartType="Bar"/>
</c1:C1FlexChart.Series>
</c1:C1FlexChart>
しかしこれでは気温と降水量の値が異なりすぎて、同じY軸でプロットすると気温の変化がX軸近くの小さな範囲で動いているのみで読み取れません。
そこで、気温と降水量に異なるY軸を設定します。
<c1:C1FlexChart BindingX="Year" ItemsSource="{Binding Temps}">
<c1:C1FlexChart.Series>
<c1:Series SeriesName="気温" Binding="Temp" ChartType="Line">
<c1:Series.AxisY>
<c1:Axis Position="Left" Title="年間平均気温" />
</c1:Series.AxisY>
</c1:Series>
<c1:Series SeriesName="降水量" Binding="Prec" ChartType="Bar">
<c1:Series.AxisY>
<c1:Axis Position="Right" Title="年間降水量" />
</c1:Series.AxisY>
</c1:Series>
</c1:C1FlexChart.Series>
</c1:C1FlexChart>
このようにY軸を分ければわかりやすいグラフになります。
このようにXAML上でもそれぞれの値にAxisYつまりY軸を設定すると記載するだけで複数Y軸が実現できます。これは非常にわかりやすい仕様だと思います。
この記事は参考になりましたか?
- 現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ComponentOne Studio)連載記事一覧
-
- FlexChartをXamarin.Formsに導入してマルチプラットフォーム間での相違を...
- FlexChartの手軽で強力な表現力を体感する ~ 複合チャート、ツールチップ、レンジセ...
- IoT時代の表現方法に最適なコントロールはこれ! FlexChartを利用してグラフを表示...
- この記事の著者
-
初音玲(ハツネアキラ)
国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
