前提・実現したいこと
・C#で折れ線グラフで表示し、Seriesは10項目程度、Pointsは20000以上を想定
・Points追加は100ms毎に行う
の状況の下で下記の2つ
①マウスホイールで拡大・縮小をスムーズに行う
②クリック位置の縦線カーソルを"カーソルを左へ移動するボタン"や"カーソルを右へ移動するボタン"で移動する
を実現したいです。
発生している問題
①については拡大・縮小共にできるのですが、操作全般的にデータ数(Points)が5000を超えたあたりから、かなり重くなる。
現在Points.AddXYでデータ追加を行っているのですが、データの持ち方が重くしている要因などがありますでしょうか?
Chart.Series[0].Points.AddXY(cnt, double.Parse(data[0]));
Chart.Series[1].Points.AddXY(cnt, double.Parse(data[1]));
…
Chart.Series[N].Points.AddXY(cnt, double.Parse(data[N]));
②についてはクリック位置の縦線カーソルはできるのですが、左右キーにより縦線カーソルを移動させる方法がわからないです。
マウスクリック時は下記で縦線カーソルを設定できるのですが、"カーソルを左へ移動するボタン"や"カーソルを右へ移動するボタン"のクリックイベントで下記のmousePointに該当する情報の設定が分からない状況です。
Point mousePoint = New Point(e.X, e.Y);
Chart1.ChartAreas(0).CursorX.SetCursorPixelPosition(mousePoint, True);
ご助言頂けないでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/09 12:16