質問編集履歴
4
最後の一文を追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -177,3 +177,7 @@
|
|
177
177
|
何か良い方法は無いでしょうか?
|
178
178
|
|
179
179
|
質問の仕方がおかしいかもしれませんが、どうかよろしくおねがいします。
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
追記:どうやらカスタムラベルという物を使えばやりたいことが出来そうなのですが使い方がわかりません・・・。
|
3
chartとやりたい事を足しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -158,11 +158,19 @@
|
|
158
158
|
|
159
159
|
```
|
160
160
|
|
161
|
+
![イメージ説明](3fe8b219edbf7b794410e220b4fa9b3b.jpeg)
|
162
|
+
|
163
|
+
|
164
|
+
|
161
165
|
ボタンを押すとtextファイルを読み込んでchartエリアにグラフを表示します。
|
162
166
|
|
163
167
|
textデータには「12:34:56」といった形の時間データと数値データが大量に入っています。これをListに格納後、DataPointのX軸に入れています。
|
164
168
|
|
165
|
-
現状だとグラフ作成時に勝手に配置された時間がラベルで表示されているので、時間軸の最小値や任意の時間区切りにしたいのですが、Listに入れたままだと
|
169
|
+
現状だとグラフ作成時に勝手に配置された時間がラベルで表示されているので、時間軸の最小値や任意の時間区切りにしたいのですが、Listに入れたままだと型なのでdouble型としてX軸のMinimumなどの値に使う事ができません。
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
このグラフの場合ですとX軸の起点を12:00:00と表示し、その後1時間毎に目盛りと線を13:00:00,14:00:00・・・最後を17:00:00と表示したいとかんがえています。
|
166
174
|
|
167
175
|
|
168
176
|
|
2
文章を少し訂正しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -160,7 +160,7 @@
|
|
160
160
|
|
161
161
|
ボタンを押すとtextファイルを読み込んでchartエリアにグラフを表示します。
|
162
162
|
|
163
|
-
textデータには「12:34:56」といった形
|
163
|
+
textデータには「12:34:56」といった形の時間データと数値データが大量に入っています。これをListに格納後、DataPointのX軸に入れています。
|
164
164
|
|
165
165
|
現状だとグラフ作成時に勝手に配置された時間がラベルで表示されているので、時間軸の最小値や任意の時間区切りにしたいのですが、Listに入れたままだとstring型なのでdouble型としてX軸のMinimumなどの値に使う事ができません。
|
166
166
|
|
1
現在のコードを追加しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,9 +10,159 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
|
13
|
+
```C#
|
14
14
|
|
15
|
+
using System;
|
16
|
+
|
17
|
+
using System.Collections.Generic;
|
18
|
+
|
19
|
+
using System.Text;
|
20
|
+
|
21
|
+
using System.Windows.Forms;
|
22
|
+
|
23
|
+
using System.IO;
|
24
|
+
|
25
|
+
using System.Windows.Forms.DataVisualization.Charting;
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
namespace グラフ
|
30
|
+
|
31
|
+
{
|
32
|
+
|
33
|
+
public partial class Form1 : Form
|
34
|
+
|
35
|
+
{
|
36
|
+
|
37
|
+
public Form1()
|
38
|
+
|
39
|
+
{
|
40
|
+
|
41
|
+
InitializeComponent();
|
42
|
+
|
43
|
+
}
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
private void button1_Click(object sender, EventArgs e)
|
52
|
+
|
53
|
+
{
|
54
|
+
|
55
|
+
//textファイルから読み込み
|
56
|
+
|
57
|
+
int a = 0;
|
58
|
+
|
59
|
+
List<string> list = new List<string>();
|
60
|
+
|
61
|
+
StreamReader sr = new StreamReader("textファイルのパス", Encoding.Default);
|
62
|
+
|
63
|
+
while (sr.Peek() >= 0)
|
64
|
+
|
65
|
+
{
|
66
|
+
|
67
|
+
string line = "";
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
while ((line = sr.ReadLine()) != null)
|
72
|
+
|
73
|
+
{
|
74
|
+
|
75
|
+
a++;
|
76
|
+
|
77
|
+
list.Add(line);
|
78
|
+
|
79
|
+
}
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
}
|
84
|
+
|
85
|
+
sr.Close();
|
86
|
+
|
87
|
+
sr.Dispose();
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
string legend = "グラフ1";
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
chart1.Series.Clear(); //グラフ初期化
|
96
|
+
|
97
|
+
chart1.ChartAreas[0].AxisY.Maximum = 2.5;
|
98
|
+
|
99
|
+
chart1.ChartAreas[0].AxisY.Minimum = 1.5;
|
100
|
+
|
101
|
+
chart1.Series.Add(legend); //グラフ追加
|
102
|
+
|
103
|
+
chart1.Series[legend].ChartType =SeriesChartType.Line;//折れ線グラフ
|
104
|
+
|
105
|
+
chart1.Series[legend].LegendText = legend; //凡例に表示するテキストを指定
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
for (int i = 0; i < chart1.Series.Count; i++)//凡例非表示
|
110
|
+
|
111
|
+
{
|
112
|
+
|
113
|
+
chart1.Series[i].IsVisibleInLegend = false;
|
114
|
+
|
115
|
+
chart1.Series[i].IsValueShownAsLabel = false;
|
116
|
+
|
117
|
+
}
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
for (int n = 0; n <a; n++)
|
122
|
+
|
123
|
+
{
|
124
|
+
|
125
|
+
string[] xValues = new string[] { list[n].Substring(0,8) };//(時間部分「12:34:56」)
|
126
|
+
|
127
|
+
string[] yValues = new string[] { list[n].Substring(12,4) };//(数値部分「2.34」等)
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
for (int i = 0; i < xValues.Length; i++)
|
132
|
+
|
133
|
+
{
|
134
|
+
|
135
|
+
//グラフに追加するデータクラスを生成
|
136
|
+
|
137
|
+
DataPoint dp = new DataPoint();
|
138
|
+
|
139
|
+
dp.SetValueXY(xValues[i], yValues[i]); //XとYの値を設定
|
140
|
+
|
141
|
+
dp.IsValueShownAsLabel = false ; //グラフに値を表示するように指定
|
142
|
+
|
143
|
+
chart1.Series[legend].Points.Add(dp); //グラフにデータ追加
|
144
|
+
|
145
|
+
}
|
146
|
+
|
147
|
+
}
|
148
|
+
|
149
|
+
}
|
150
|
+
|
151
|
+
}
|
152
|
+
|
153
|
+
}
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
```
|
160
|
+
|
161
|
+
ボタンを押すとtextファイルを読み込んでchartエリアにグラフを表示します。
|
162
|
+
|
163
|
+
textデータには「12:34:56」といった形で時間のデータが大量に入っています。これをListに格納後、DataPointのX軸に入れています。
|
164
|
+
|
15
|
-
現状だとグラフ作成時に勝手に配置された時間がラベルで表示されているので時間区切りにしたいのですが、
|
165
|
+
現状だとグラフ作成時に勝手に配置された時間がラベルで表示されているので、時間軸の最小値や任意の時間区切りにしたいのですが、Listに入れたままだとstring型なのでdouble型としてX軸のMinimumなどの値に使う事ができません。
|
16
166
|
|
17
167
|
|
18
168
|
|