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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.86380 の関連記事表示

<< 0 >>
■86380  Re[5]: ChartのX軸のタイトル表示
□投稿者/ 魔界の仮面弁士 -(2018/01/24(Wed) 10:59:59)
    No86376 (mako さん) に返信
    > 例えば下記のような15分おきのデータがあったとします。
    > 9 12:00 10
    >11 12:15 20
    「10」が欠落しているのには、何か意図がありますか?


    > あと 9:00 9:30 10:00 11:30 12:00 も表示。
    09:15 と 09:45 と 10:00 と 12:00 のデータがあって、
    09:00 と 09:30 と 11:30 のデータの無いデータ系列の場合、
    9:00 / 9:30 / 10:00 には一切出力しないのでしょうか。
    それとも前後のデータから想定値を出力するのでしょうか。


    Dim ds As New DataSet("mako")

    Dim tRaw As New DataTable("raw")
    tRaw.Columns.Add("時刻", GetType(Date))
    tRaw.Columns.Add("個数", GetType(Integer))
    tRaw.Rows.Add(#1/19/2018 8:45#, 30)
    tRaw.Rows.Add(#1/19/2018 9:00#, 20)
    tRaw.Rows.Add(#1/19/2018 9:15#, 20)
    tRaw.Rows.Add(#1/19/2018 9:30#, 5)
    tRaw.Rows.Add(#1/19/2018 9:45#, 10)
    tRaw.Rows.Add(#1/19/2018 10:00#, 15)
    tRaw.Rows.Add(#1/19/2018 11:15#, 5)
    tRaw.Rows.Add(#1/19/2018 11:30#, 20)
    tRaw.Rows.Add(#1/19/2018 11:45#, 5)
    tRaw.Rows.Add(#1/19/2018 12:00#, 10)
    tRaw.Rows.Add(#1/19/2018 12:15#, 20)
    tRaw.AcceptChanges()
    ds.Tables.Add(tRaw)

    Chart1.Titles.Clear()
    Chart1.ChartAreas.Clear()
    Chart1.Legends.Clear()
    Chart1.Series.Clear()

    Dim c15 As New ChartArea("15分エリア")
    Dim c30 As New ChartArea("30分エリア")
    Dim c60 As New ChartArea("60分エリア")
    Chart1.ChartAreas.Add(c15)
    Chart1.ChartAreas.Add(c30)
    Chart1.ChartAreas.Add(c60)
    c15.AxisX.Interval = 1.0
    c30.AxisX.Interval = 1.0#
    c60.AxisX.Interval = 1.0R

    Dim c15sr1 As New Series("15分系列") With {.ChartArea = c15.Name}
    Dim c30sr1 As New Series("30分系列") With {.ChartArea = c30.Name}
    Dim c60sr1 As New Series("60分系列") With {.ChartArea = c60.Name}
    Chart1.Series.Add(c15sr1)
    Chart1.Series.Add(c30sr1)
    Chart1.Series.Add(c60sr1)
    c15sr1.ChartType = SeriesChartType.Spline
    c30sr1.ChartType = SeriesChartType.Column
    c60sr1.ChartType = SeriesChartType.Point

    Dim q = tRaw.AsEnumerable() _
      .OrderBy(Function(r) r.Field(Of Date)("時刻")) _
      .Select(Function(r, RowIndex) New With {
        Key RowIndex,
        Key r.Field(Of Date)("時刻").Minute,
        Key .X = r.Field(Of Date)("時刻").ToString("HH:mm"),
        Key .Y = r.Field(Of Integer)("個数")
      })
    For Each r In q
     If r.RowIndex = 0 OrElse r.Minute = 0 Then
      c15sr1.Points.AddXY(r.X, r.Y)
      c30sr1.Points.AddXY(r.X, r.Y)
      c60sr1.Points.AddXY(r.X, r.Y)
     ElseIf r.Minute = 15 OrElse r.Minute = 45 Then
      c15sr1.Points.AddXY(r.X, r.Y)
     ElseIf r.Minute = 30 Then
      c15sr1.Points.AddXY(r.X, r.Y)
      c30sr1.Points.AddXY(r.X, r.Y)
     End If
    Next
記事No.86333 のレス /過去ログ148より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -