回答編集履歴

1

見直しキャンペーン中

2023/07/23 06:55

投稿

TN8001
TN8001

スコア9862

test CHANGED
@@ -1,147 +1,74 @@
1
1
  出せるように書き換えるのはわかりますが、実際のコードと乖離が大きいと回答に困ります。
2
-
3
2
  * 使っている形跡のない`ChartArea area`・`Title title`
4
-
5
3
  * 散布図と言っているのに`SeriesChartType.Line`
6
-
7
4
  * 回らないforループ
8
-
9
-
10
5
 
11
6
  > 実際にボタンを押すと、X軸の目盛が勝手に変わって、Datagridviewの値が表示されています。
12
7
 
13
-
14
-
15
8
  おかしいところを直しただけですが、希望通りの表示に見えます。
16
-
17
9
  提示コード以外の部分に原因があるんじゃないでしょうか。
18
10
 
19
-
20
-
21
- ```C#
11
+ ```cs
22
-
23
12
  using System;
24
-
25
13
  using System.Windows.Forms;
26
-
27
14
  using System.Windows.Forms.DataVisualization.Charting;
28
15
 
29
-
30
-
31
16
  namespace Questions294097
32
-
33
17
  {
34
-
35
18
  public partial class Form1 : Form
36
-
37
19
  {
38
-
39
20
  public Form1()
40
-
41
21
  {
42
-
43
22
  InitializeComponent();
44
23
 
45
-
46
-
47
24
  DataGridView();
48
-
49
25
  Chart();
50
-
51
26
  }
52
27
 
53
-
54
-
55
28
  private void DataGridView()
56
-
57
29
  {
58
-
59
30
  dataGridView1.ColumnCount = 2;
60
-
61
31
  dataGridView1.AllowUserToAddRows = false;
62
32
 
33
+ var random = new Random();
34
+ var x = 0;
35
+ while(true)
36
+ {
37
+ x += random.Next(300) + 300;
38
+ if(16000 < x) break;
39
+ dataGridView1.Rows.Add(x, random.Next(50));
40
+ }
41
+ }
63
42
 
43
+ private void Chart()
44
+ {
45
+ chart1.Series.Clear();
46
+ var series1 = new Series
47
+ {
48
+ ChartType = SeriesChartType.Point,
49
+ };
64
50
 
65
- var random = new Random();
51
+ for(var row = 0; row < dataGridView1.RowCount; row++)
66
-
67
- var x = 0;
68
-
69
- while(true)
70
-
71
52
  {
72
-
73
- x += random.Next(300) + 300;
74
-
75
- if(16000 < x) break;
76
-
77
- dataGridView1.Rows.Add(x, random.Next(50));
53
+ series1.Points.AddXY(dataGridView1.Rows[row].Cells[0].Value, dataGridView1.Rows[row].Cells[1].Value);
78
-
79
54
  }
80
55
 
81
- }
82
-
83
-
84
-
85
- private void Chart()
86
-
87
- {
88
-
89
- chart1.Series.Clear();
90
-
91
- var series1 = new Series
92
-
93
- {
94
-
95
- ChartType = SeriesChartType.Point,
96
-
97
- };
98
-
99
-
100
-
101
- for(var row = 0; row < dataGridView1.RowCount; row++)
102
-
103
- {
104
-
105
- series1.Points.AddXY(dataGridView1.Rows[row].Cells[0].Value, dataGridView1.Rows[row].Cells[1].Value);
106
-
107
- }
108
-
109
-
110
-
111
56
  chart1.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = true;
112
-
113
57
  chart1.ChartAreas["ChartArea1"].AxisX.Interval = 2000;
114
-
115
58
  chart1.ChartAreas["ChartArea1"].AxisX.Maximum = 16000;
116
-
117
59
  chart1.ChartAreas["ChartArea1"].AxisX.Minimum = 0;
118
60
 
119
-
120
-
121
61
  chart1.ChartAreas["ChartArea1"].AxisY.Minimum = 0;
122
-
123
62
  chart1.ChartAreas["ChartArea1"].AxisY.Maximum = 50;
124
-
125
63
  chart1.ChartAreas["ChartArea1"].AxisY.Interval = 10;
126
64
 
127
-
128
-
129
65
  chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;
130
-
131
66
  chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Enabled = true;
132
67
 
133
-
134
-
135
68
  chart1.Series.Add(series1);
136
-
137
69
  }
138
-
139
70
  }
140
-
141
71
  }
142
-
143
72
  ```
144
-
145
73
  デザイナで`DataGridView`・`Chart`を置いています。
146
-
147
74
  ![アプリ画像](73f2e14afe09f91c0132d7db5be11c62.png)