C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: グラフの作成方法について


(過去ログ 144 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■84371 / inTopicNo.1)  グラフの作成方法について
  
□投稿者/ AKI (3回)-(2017/06/22(Thu) 16:39:03)

分類:[.NET 全般] 

グラフの作成方法について、以下の内容を表示させたく、アドバイスいただけますでしょうか。

・作成したいもの
選択した生徒のテスト(国語、算数、理科、社会)の点数結果を、積み上げ式グラフにして比較できる形で表示。

現在作成しているものは、Form1に生徒の各テストの点数を入力し、ボタンをクリックして、
Form2に積み上げ式グラフを表示させたいと考えています。

グラフでは、仮に4人の生徒(A〜D)がいた場合、Form1でグラフで比較したい生徒を
選択できるよう、チェックボックスを設けています。

そのため、AとBに&#9745;が入っていた場合は、グラフのX軸にAとBが、
全員に&#9745;が入っていた場合は、4人全員が比較できるものになります。

例)Form1の画面情報
□生徒A    □生徒B
 国語○点    国語○点
 算数○点    算数○点
 理科○点    理科○点
 社会○点    社会○点

□生徒C    □生徒D
 国語○点    国語○点
 算数○点    算数○点
 理科○点    理科○点
 社会○点    社会○点


やりたいことに知識が追い付ていない状況のため、
お教えいただきたいのですが、Form1のチェックボックスに&#9745;が入っている情報をもとに
グラフのX軸に反映させるにはどのようなコードを書けばいいのでしょうか。

宜しくお願い致します。
 
引用返信 編集キー/
■84372 / inTopicNo.2)  Re[1]: グラフの作成方法について
□投稿者/ WebSurfer (1248回)-(2017/06/22(Thu) 17:43:33)
No84371 (AKI さん) に返信

回答ではないです。

Chart の使用は検討されたでしょうか? 検討済みでしたらすみません。このレスは
スルーしてください。

もし未検討でしたら、サンプルの入手先や設定手順が以下の記事にありますので、興
味があれば見てください。

Chart Samples
http://surferonwww.info/BlogEngine/post/2016/02/14/chart-samples.aspx

引用返信 編集キー/
■84373 / inTopicNo.3)  Re[2]: グラフの作成方法について
□投稿者/ AKI (4回)-(2017/06/22(Thu) 19:06:47)
WebSurfer様

ご返信ありがとうございます。
また、Chart Samplesの情報ありがとうございます。
ブログ拝見させていただきました。

ツールボックスのChartですが、
Form2において、使用しております。
ChartTypeの項目でStackedColumnを選択したのみですが。
言葉足らずで申し訳ありません。

過去にChartを使用してグラフを作成した際は、
X軸の項目を指定し、Y軸の数量も指定した上での作成しておりましたので

今回質問させていただいている、ランダムにX軸の項目(生徒)と
Y軸(点数結果)を表示させる方法がわからず、質問させていただいた次第です。

紹介されていましたChartの記事のなかに、

<asp:Series Name="三吉"
<asp:Series Name="春日"

こちらの情報において、三吉と春日の部分を、
選択した生徒の順番で表示させる方法について改めてコメントいただけますでしょうか。




引用返信 編集キー/
■84374 / inTopicNo.4)  Re[3]: グラフの作成方法について
□投稿者/ babap (1回)-(2017/06/23(Fri) 12:01:10)
参考にしてみてください。

http://nogusa.hateblo.jp/entry/20101004/1286183197


引用返信 編集キー/
■84376 / inTopicNo.5)  Re[3]: グラフの作成方法について
□投稿者/ WebSurfer (1249回)-(2017/06/23(Fri) 13:47:51)
No84373 (AKI さん) に返信

> こちらの情報において、三吉と春日の部分を、
> 選択した生徒の順番で表示させる方法について改めてコメントいただけますでしょうか。

それは上に紹介した記事「Chart Sample」にはありませんが、別の記事(URL 下記)の話
でしょうか?

Chart
http://surferonwww.info/BlogEngine/post/2010/11/27/Chart.aspx

その記事は ASP.NET 用の Chart なのですが、Windows Forms 用でも同じことができると
すれば(未確認・未検証です)、チェックした内容に応じて動的に Chart を組み立てる
という手段が考えられます。

引用返信 編集キー/
■84377 / inTopicNo.6)  Re[3]: グラフの作成方法について
□投稿者/ WebSurfer (1250回)-(2017/06/23(Fri) 14:04:08)
No84373 (AKI さん) に返信

ちなみに、記事「Chart」と同じものを動的に組み立てるのは以下のようにして可能
です。

Chart chart = new Chart();
chart.DataSourceID = "sds";
chart.Width = 600;

ChartArea chartArea = new ChartArea();
chartArea.Name = "ChartArea1";
Axis axisX = new Axis();
axisX.Title = "売上月";
Axis axisY = new Axis();
axisY.Title = "売上高";
chartArea.AxisX = axisX;
chartArea.AxisY = axisY;
chart.ChartAreas.Add(chartArea);

Series s;

s = new Series();
s.Name = "三吉";
s.ChartType = SeriesChartType.StackedColumn;
s.CustomProperties = "DrawingStyle=Cylinder";
s.IsValueShownAsLabel = true;
s.Label = "#PERCENT{P1}";
s.Legend = "Legend1";
s.XValueMember = "Month";
s.YValueMembers = "三吉";
chart.Series.Add(s);

s = new Series();
s.Name = "春日";
s.ChartType = SeriesChartType.StackedColumn;
s.CustomProperties = "DrawingStyle=Cylinder";
s.IsValueShownAsLabel = true;
s.Label = "#PERCENT{P1}";
s.Legend = "Legend1";
s.XValueMember = "Month";
s.YValueMembers = "春日";
chart.Series.Add(s);

s = new Series();
s.Name = "東雲";
s.ChartType = SeriesChartType.StackedColumn;
s.CustomProperties = "DrawingStyle=Cylinder";
s.IsValueShownAsLabel = true;
s.Label = "#PERCENT{P1}";
s.Legend = "Legend1";
s.XValueMember = "Month";
s.YValueMembers = "東雲";
chart.Series.Add(s);

s = new Series();
s.Name = "府中";
s.ChartType = SeriesChartType.StackedColumn;
s.CustomProperties = "DrawingStyle=Cylinder";
s.IsValueShownAsLabel = true;
s.Label = "#PERCENT{P1}";
s.Legend = "Legend1";
s.XValueMember = "Month";
s.YValueMembers = "府中";
chart.Series.Add(s);

s = new Series();
s.Name = "広島";
s.ChartType = SeriesChartType.StackedColumn;
s.CustomProperties = "DrawingStyle=Cylinder";
s.IsValueShownAsLabel = true;
s.Label = "#PERCENT{P1}";
s.Legend = "Legend1";
s.XValueMember = "Month";
s.YValueMembers = "広島";
chart.Series.Add(s);

Legend legend = new Legend();
legend.DockedToChartArea = "ChartArea1";
legend.IsDockedInsideChartArea = false;
legend.Name = "Legend1";
chart.Legends.Add(legend);
引用返信 編集キー/
■84387 / inTopicNo.7)  Re[4]: グラフの作成方法について
□投稿者/ AKI (5回)-(2017/06/25(Sun) 21:36:25)
WebSurfer様
babap様

コメントいただき、ありがとうございます。
ご返信が遅くなり申し訳ありません。

お教えいただきました情報をもとに少し時間がかかりましたが、
無事に解決できました。
参考情報、コードとお教えいただきましてありがとうございました。

今後ともよろしくおねがいします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -