人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBでMSCHART .NETの使い方を教えてください。以下のプログラムにx軸に日付データを入れたいと思っています。どのように書けばよろしいでしょうか?例としてx軸は2009/12/1,2009/12/2,2009/12/3などです。


Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DynamicChartCreation_Load(sender, e)
End Sub

Dim Chart1 As System.Windows.Forms.DataVisualization.Charting.Chart
Private Sub DynamicChartCreation_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Chart1 = New Chart()

Dim chartArea1 As New ChartArea()

Chart1.ChartAreas.Add(chartArea1)
Dim series1 As New Series()
Dim series2 As New Series()
データ代入は略
' Add series to the chart
Chart1.Series.Add(series1)
Chart1.Series.Add(series2)

Chart1.Location = New System.Drawing.Point(16, 48)

Chart1.Size = New System.Drawing.Size(360, 260)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Chart1})
End Sub 'DynamicChartCreation_Load

●質問者: mai_mai_mail
●カテゴリ:コンピュータ インターネット
✍キーワード: Class .NET 360 ADD AS
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● freemann
●35ポイント

こんな感じでしょうか。

series1.XValueType = ChartValueType.Date

Chart1.ChartAreas(0).AxisX.MajorTickMark.IntervalType = DateTimeIntervalType.Days

◎質問者からの返答

多分正攻法ですが、私が代入するデータはSTRING 2009/12/01なのでエラーとなりました。データソースがSTRINGでした。聞き方が正確ではなかったですね。すみません。以下のようにCDateを利用すると.addddが引数に取れないとエラーとなります。もともと2009/12/01という文字をx軸に持ってくるにはどうすればいいでしょうか?

series1.Points.Add(CDate(Spt(0 + i * 5)))


2 ● freemann
●35ポイント

Points.Add()だと、X軸に設定できるデータタイプはdouble型のようですので別の方法をお勧めします。

Dim dt2 As New DataTable()

dt2.Columns.Add("Quantity", GetType(Int32))

dt2.Columns.Add("SalesDate", GetType(String))

dt2.Rows.Add(New Object() {0, "1992/6/15"})

dt2.Rows.Add(New Object() {15, "1993/10/28"})

dt2.Rows.Add(New Object() {10, "1993/12/12"})

dt2.Rows.Add(New Object() {0, "1993/2/21"})

dt2.Rows.Add(New Object() {25, "1993/3/11"})

dt2.Rows.Add(New Object() {30, "1993/5/22"})

dt2.Rows.Add(New Object() {50, "1993/5/24"})

dt2.Rows.Add(New Object() {85, "1993/5/29"})

dt2.Rows.Add(New Object() {0, "1994/9/13"})

dt2.Rows.Add(New Object() {85, "1994/9/14"})

chart1.DataSource = dt2

これに対して最初の回答のように設定すれば、X軸に日付が使えます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ