トップ回答者
Chart 折れ線グラフで異なる値の複数のグラフ(線)表示するには

質問
-
お世話になります。C#でWindowsアプリを作成しています。
Chartで折れ線グラフを表示させています。(前回、null値での線の表示でお世話になりました)
グラフの表示を進めていくうち、また壁にぶつかりましたのでアドバイス頂けると嬉しいです。
【内容】
2、3種類の線を同じグラフ内に表示したいのですが、(単に表示することは出来ています)この時、
線の種類(便宜上、A、B、Cとします)。例えばAグラフは、{ 130, 150, 200, 180, 125 }の値を持ち
Bグラフは、{ 0.1, 0.5, 0.25, 0.0, 0.5 }、Cグラフは、{ 5.6, 6.5, 7.2, 4.8, 6.0 }の値があり
これを同一グラフに表示させたいのです。もちろんそのまま表示させれば、小数点を持つ値のグラフは、
底辺をほぼ真っすぐに表示することになると思います。
問題は、これを見やすくしたいのと、そのデータをグラフに表示したいことです。
小数点のグラフを10倍して表示すれば見やすくなりますが、表示される値も10倍された値になりその
ままではだめだと言われました。(まあ、当然ですが)
そこで、何かいい方法があれば?と思い投稿させていただきました。
chart1.Series[columnName].Label = "#VAL{#.##0.00;((#.##0.00));}";
も考えてみたのですが、これはただの表示を見やすくするだけのようで、計算式など入れても無視されます。
このように値の違う線を同じグラフに表示する場合、どのようにしていますでしょうか?
ある検査数値を時系列表示したいのでこのような問題が発生しました。
Windows 7 Winアプリ .NET C# よろしくお願いします。
回答
-
chart1.Series[1].YAxisType = AxisType.Primary; //…省略… chart1.Series[2].YAxisType = AxisType.Secondary;
2軸までであれば上記の設定をSeries毎に設定してやれば軸が分かれるので表示できます。
3軸以上の対応が必要であれば以下をご参照ください。(大変そうです)
- 回答としてマーク ferret001 2015年1月14日 0:43
-
以下が参考になりそうです。
How can I set different scales for different series in C# chart control?
http://stackoverflow.com/questions/14486420/how-can-i-set-different-scales-for-different-series-in-c-sharp-chart-control上記のページから以下にリンクが張られていますが、
The Archive Gallery has been retired.
http://archive.msdn.microsoft.comこのページから以下を開き、
Samples Environment for Microsoft Chart Controls
http://code.msdn.microsoft.com/Samples-Environments-for-b01e9c61C#のサンプルプロジェクトをダウンロードできます。
このプロジェクトを実行し、Chart Features -> Axes -> Multiple Y Axes
が、おそらく望まれるものだと思います。
また、参考として、以下のような例もありました。
MS Chart Control Two Y Axis
http://stackoverflow.com/questions/3458791/ms-chart-control-two-y-axis★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク ferret001 2015年1月14日 0:43
すべての返信
-
chart1.Series[1].YAxisType = AxisType.Primary; //…省略… chart1.Series[2].YAxisType = AxisType.Secondary;
2軸までであれば上記の設定をSeries毎に設定してやれば軸が分かれるので表示できます。
3軸以上の対応が必要であれば以下をご参照ください。(大変そうです)
- 回答としてマーク ferret001 2015年1月14日 0:43
-
以下が参考になりそうです。
How can I set different scales for different series in C# chart control?
http://stackoverflow.com/questions/14486420/how-can-i-set-different-scales-for-different-series-in-c-sharp-chart-control上記のページから以下にリンクが張られていますが、
The Archive Gallery has been retired.
http://archive.msdn.microsoft.comこのページから以下を開き、
Samples Environment for Microsoft Chart Controls
http://code.msdn.microsoft.com/Samples-Environments-for-b01e9c61C#のサンプルプロジェクトをダウンロードできます。
このプロジェクトを実行し、Chart Features -> Axes -> Multiple Y Axes
が、おそらく望まれるものだと思います。
また、参考として、以下のような例もありました。
MS Chart Control Two Y Axis
http://stackoverflow.com/questions/3458791/ms-chart-control-two-y-axis★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク ferret001 2015年1月14日 0:43
-
Tak1wa様、trapemiya様、お世話になります。
> Samples Environment for Microsoft Chart Controls
> http://code.msdn.microsoft.com/Samples-Environments-for-b01e9c61を拝見しました。なかなかのサンプルなので組み込むのに苦労しましたが、目的が達成できました。
ありがとうございました。
この Chart って奥が深いんですね!