タイトル | : Re^4: chartの散布図 線表示について |
記事No | : 11692 |
投稿日 | : 2016/07/05(Tue) 20:11 |
投稿者 | : 耳たぶ黒 |
shuさんありがとうございます。
ただ、動く状態のプログラムを走らせたときの結果が凡例がデータの数だけ増えてしまっています。 根本的にCSVファイルの読ませ方、表示の方法が違う気がしてきました。
現状のプログラム With Chart1
.Series.Clear() '系列を初期化 Dim a As Integer .Series.Add(CType(a, String)) 'グラフの種類をPoint(点グラフ)にして散布図を描画 .Series(CType(a, String)).ChartType = DataVisualization.Charting.SeriesChartType.Line
For i As Integer = 0 To rows - 1 'テーブルからデータを取得 Dim x As Single = CType(ds.Tables(0).Rows.Item(i)(2), Single) Dim y As Single = CType(ds.Tables(0).Rows.Item(i)(1), Single) .Series.Add(CType(i, String)) 'グラフの種類をPoint(点グラフ)にして散布図を描画 .Series(CType(i, String)).ChartType = DataVisualization.Charting.SeriesChartType.Point .Series(CType(i, String)).Points.AddXY(x, y) 'データを設定 .Series(CType(i, String)).MarkerSize = 15 'マーカーを大きくして表示 .Series(CType(i, String)).MarkerStyle = DataVisualization.Charting.MarkerStyle.Diamond .Series(CType(i, String)).MarkerColor = Color.Blue .Series(CType(i, String)).BorderDashStyle = DataVisualization.Charting.ChartDashStyle.Solid .Series(CType(i, String)).BorderWidth = 10 .Series(CType(i, String)).BorderColor = Color.Blue If i < 5 Then '正しく表示されているか確認の為ポイントラベルを表示 .Series(CType(i, String)).Label = CStr(i) & ":#VALX" & ",#VALY" End If 'すべての系列についてマーカーを表示し、線を表示解除します。
Next .Legends(0).Enabled = True '凡例を非表示にする End With
csvデータ:http://www.fastpic.jp/images.php?file=9596415491.png 結果散布図ー誤(現状):http://www.fastpic.jp/images.php?file=3306180425.png 結果散布図ー正(エクセルで描画):http://www.fastpic.jp/images.php?file=2894168190.png プログラムのエラー画面:http://www.fastpic.jp/images.php?file=4902074744.png
上記のCSVデータの様に列を上から下に読み込ませたいのにうまくいっていない気がする。 エクセル的に表現すると1項目にデータを読み込ませたいのに、項目をどんどん増やしている感じです。 .points.addxyがいけないのか?データの読み込ませかたが悪いのか? アドバイスいただけるとたすかります。よろしくお願いいたします。
|