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

わんくま同盟

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

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


■86531 / )  Re[16]: ChartのX軸のタイトル表示
□投稿者/ shu (1096回)-(2018/02/09(Fri) 00:45:43)
No86530 (mako さん) に返信

> ' 8:10〜8:45
> For i = 10 To 45 ' 8:10〜8:45
> datS = datS + 1
> Uridat(datS).mark = " "
> 'Uridat(datS).Jikoku = "8:" & Str(i) '時刻
> Uridat(datS).Jikoku = $"8:{i:00}" '時刻
> Uridat(datS).Suu1 = i * 10 '数量1
> Uridat(datS).Suu2 = i * 5 '数量2
>
> Uridat(datS).mark = " "
> If i = 10 Then
> Uridat(datS).mark = "*" ' とりあえずはデータの最初にのみ "*" マーク を付けてみる。
> End If
> Next
>
> ' 10:20〜11:55
> For i = 0 To 59 ' 10:20〜10:59
> datS = datS + 1
> 'Uridat(datS).Jikoku = "10:" & Str(i) '時刻
> Uridat(datS).Jikoku = $"10:{i:00}" '時刻
> Uridat(datS).Suu1 = i + 100 '数量1
> Uridat(datS).Suu2 = i + 20 '数量2
> Uridat(datS).mark = " "
>
> If i = 0 Then
> Uridat(datS).mark = "*" ' とりあえずはデータの最初にのみ "*" マーク を付けてみる。
> End If
> Next
> For i = 0 To 55 ' 11:00〜11:55
> datS = datS + 1
> 'Uridat(datS).Jikoku = "11:" & Str(i) '時刻
> Uridat(datS).Jikoku = $"11:{i:00}" '時刻
> Uridat(datS).Suu1 = i + 100 '数量1
> Uridat(datS).Suu2 = i + 20 '数量2
>
> Uridat(datS).mark = " " ' とりあえずはデータの最初ではないので"*" マークは付けないことにする
> Next
>


一旦上記のサンプルデータ部について
8:10〜8:45, 10:20〜11:55のデータが1分毎にあって
8:10, 10:20の*マークのところは時間間隔に関わらず
プロットしてそこでは左にスペースを設ける
ということでよろしいでしょうか?

だとした場合時間順にデータをピックアップして表示するデータのみを抽出
*がついていたらその前に空白データを追加となるかと思います。

仮に30分単位のピックアップとして
8:10
8:30
10:20
10:30
11:00
11:30
の順でピックアップ、ただし8:10と10:20は*がついているのでこれらのデータの直前に空白データを追加
となるのでデータが追加される順番をかんがえると
1 空白
2 8:10
3 空白
4 10:20
5 10:30
6 11:00
7 11:30
となります。

プログラム的にはサンプルデータを時間順に抽出するループ内でターゲトとなるか確認しながらピックアップしていき
もしも*がついていたらピックアップデータを追加する前に空白データを追加するという流れになります。
元の
 '間
の場所で空白を追加していたのは1時間の開始データ前で空白を追加するという考えで行っていたものなので上記流れには
合わなくなります。itm.rowsの中の先頭データが*か調べればできなくはないですが先頭データではなく途中に*があった場合でも
その前には空白を入れても構わないと思うのでこの場所での空白追加はやめて、


> If disp Then
> ret.Rows.Add(x, d, row("数量1"), row("数量2"))
> x += 5
> End If
ここの ret.Rows.Add(x, d, row("数量1"), row("数量2"))を行う直前でif判定でrow("Mark")の内容をチェックして
空白を追加すればよいと思うのです。

さらにループも時間毎にグループ化する必要がないのでループのネストが不要になります。

返信 編集キー/


管理者用

- Child Tree -