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

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

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

Re[4]: ScottPlot 4.1を使ってリアルタイムグラフを描画


(過去ログ 172 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■99331 / inTopicNo.1)  ScottPlot 4.1を使ってリアルタイムグラフを描画
  
□投稿者/ なぎさ (1回)-(2022/03/17(Thu) 10:25:13)

分類:[C#] 

環境:Visual Studio Community 2019, C#

https://tech-and-investment.com/scottplot41-4-realtime/
上記のサイトを参照して、データをリアルタイムでグラフに描画するプログラムを作成しました。
インストールしたScottPlotのバージョンは最新安定版の4.1.35です。
サイトの通りのプログラムではビルド時に下記エラーが発生します。
「CS0305 ジェネリック 種類 'ScatterPlotList<T>' を使用するには、1型引数が必要です」
しかし、画面に表示される考えられる修正内容の通りに'ScatterPlotList'を'ScatterPlotListDraggable'に
変更するとエラーがなくなり、リアルタイムグラフが表示されるようになりました。
(修正後のプログラム)
ScottPlot.Plottable.ScatterPlotListDraggable pointList = new ScottPlot.Plottable.ScatterPlotListDraggable();

表示されるグラフの色は黒ですが、これをほかの色に変更したいのですが、いろいろ調べてテストしたのですが、
方法が分かりませんでした。
グラフの色を変更する方法が分かりましたらご教示ください。
また、グラフのポイント(点)は不要なので、これを無くすか小さくする方法がありましたら合わせてお願いします。

引用返信 編集キー/
■99332 / inTopicNo.2)  Re[1]: ScottPlot 4.1を使ってリアルタイムグラフを描画
□投稿者/ 魔界の仮面弁士 (3307回)-(2022/03/17(Thu) 11:29:13)
No99331 (なぎさ さん) に返信
> 「CS0305 ジェネリック 種類 'ScatterPlotList<T>' を使用するには、1型引数が必要です」
プルリク1592 に、ジェネリックのサポートについての記載がありますね。
https://github.com/ScottPlot/ScottPlot/pull/1592

nuget していないので、上記の GitHub を斜め読みした程度ですが、
>>> public class ScatterPlotListDraggable : ScatterPlotList<double>,
となっているので、型引数に double を明示してみるのは如何でしょう。
引用返信 編集キー/
■99333 / inTopicNo.3)  Re[1]: ScottPlot 4.1を使ってリアルタイムグラフを描画
□投稿者/ Hongliang (1221回)-(2022/03/17(Thu) 11:31:46)
参考サイト通りにWinFormでお作りになっているってことでいいですかね。

ScatterPlotListDraggableは、ScatterPlotList<double>に加えて、グラフの頂点をマウスドラッグで移動できる機能を追加したものです。
それが不要であれば、ScatterPlotList<double>を使ってもいいでしょう。Draggableの方でも、DragEnabledプロパティがfalseであれば特に影響はなさそうですが。
<double>の部分は、頂点座標の型を指定します。一般的にはintかdoubleでしょう。
ちなみにこのScatterPlotList<T>はチェンジログによれば4.1.32で追加されたようですが、同時に非ジェネリック版は削除されているようなので、追加というより変更ですね。

色や頂点の形などは、ScatterPlotListにColorフィールドやMarkerShapeフィールドがあるのでそれを変更してください。
引用返信 編集キー/
■99337 / inTopicNo.4)  Re[2]: ScottPlot 4.1を使ってリアルタイムグラフを描画
□投稿者/ なぎさ (3回)-(2022/03/17(Thu) 13:25:54)
魔界の仮面弁士さん、Hongliangさん ご返信ありがとうございます。

> 参考サイト通りにWinFormでお作りになっているってことでいいですかね。
はい、その通りです。
ScatterPlotListDraggableをScatterPlotList<double>に替えてもエラーは発生しませんでした。

> 色や頂点の形などは、ScatterPlotListにColorフィールドやMarkerShapeフィールドがあるのでそれを変更してください。
ですが、具体的にはどのような書式になるのでしょうか。
formsPlot1.Plot.ScatterPlotList(xxx);
では 'Plot'に'ScatterPlotList' の定義が含まれていませんとなります。
よろしくお願いいたします。
引用返信 編集キー/
■99338 / inTopicNo.5)  Re[3]: ScottPlot 4.1を使ってリアルタイムグラフを描画
□投稿者/ Hongliang (1223回)-(2022/03/17(Thu) 13:40:52)
>>色や頂点の形などは、ScatterPlotListにColorフィールドやMarkerShapeフィールドがあるのでそれを変更してください。
> ですが、具体的にはどのような書式になるのでしょうか。
ScottPlot.Plottable.ScatterPlotList<double> pointList = new ScottPlot.Plottable.ScatterPlotList<double>();
pointList.Color = Color.Red;
pointList.MarkerShape = 以下略
引用返信 編集キー/
■99339 / inTopicNo.6)  Re[4]: ScottPlot 4.1を使ってリアルタイムグラフを描画
□投稿者/ なぎさ (4回)-(2022/03/17(Thu) 13:50:42)
No99338 (Hongliang さん) に返信

pointList.Color = Color.Red;
pointList.MarkerShape = ScottPlot.MarkerShape.none;
で思っていたグラフが描けました。
大変助かりました。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -