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

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

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

Re[3]: scottplotを使用してのグラフ描画


(過去ログ 172 を表示中)

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

■98890 / inTopicNo.1)  scottplotを使用してのグラフ描画
  
□投稿者/ ざんげ (13回)-(2022/01/13(Thu) 10:59:42)

分類:[.NET 全般] 

環境:VisualStudio2017,VB.net,.NET Framework 4.6.1

https://tech-and-investment.com/scottplot13-live/
上記のサイトを参照のもと、データをリアルタイムでグラフに描画するプログラムを組んでいます。
サイトではタイマーを使用して描画していますが、そうではなくほかのフォームから任意のタイミングで関数を呼び出して描画できるようにしたいと思っています。
(サイトと全く同じことはできました。)
その関数自体は呼び出されているのですがなぜかグラフに描画されません。
何か理由はわかりますでしょか。

Public Class Form3
    Inherits Form

    Private pointList As ScottPlot.Plottable.ScatterPlotList = New ScottPlot.Plottable.ScatterPlotList

    Private counter As Integer = 0

    Private point As Double = 0

    Public Sub New()
        MyBase.New
        InitializeComponent()
        formsPlot1.Refresh()

        formsPlot1.Plot.Add(Me.pointList)

    End Sub


    Public Function Add_Plot(cnt As Integer, value As Double) As Integer  //この関数を呼び出して描画したい

        Me.counter = cnt
        Me.point = value

        Me.pointList.Add(Me.counter, Me.point)
        formsPlot1.Plot.AxisAuto()

        formsPlot1.Render()

        Return 1
    End Function

End Class

引用返信 編集キー/
■98891 / inTopicNo.2)  Re[1]: scottplotを使用してのグラフ描画
□投稿者/ kiku (244回)-(2022/01/13(Thu) 12:04:55)
No98890 (ざんげ さん) に返信
> 環境:VisualStudio2017,VB.net,.NET Framework 4.6.1
>
> https://tech-and-investment.com/scottplot13-live/
> 上記のサイトを参照のもと、データをリアルタイムでグラフに描画するプログラムを組んでいます。
> サイトではタイマーを使用して描画していますが、そうではなくほかのフォームから任意のタイミングで関数を呼び出して描画できるようにしたいと思っています。
> (サイトと全く同じことはできました。)
> その関数自体は呼び出されているのですがなぜかグラフに描画されません。
> 何か理由はわかりますでしょか。

scottplotは使ったことはないので
ざっと見ただけの感想ですが、

表示データ(pointList)をformsPlot1に設定するメソッド(PlotSignal)が
呼ばれていないからではないでしょうか?

外れていたらごめんなさい。
引用返信 編集キー/
■98892 / inTopicNo.3)  Re[2]: scottplotを使用してのグラフ描画
□投稿者/ ざんげ (14回)-(2022/01/13(Thu) 16:18:40)
No98891 (kiku さん) に返信

返信ありがとうございます。
新しいプロジェクトを作成し、別のフォームから関数を呼び出してみたら描画することができたのでどうやら関数の呼び出し元がおかしいみたいです。
ほかのフォームの描画を禁止するようなメソッドなどは存在するのでしょうか。
(他人が作成したプログラムに手を入れているため抽象的な質問になってしまいすみません。)
引用返信 編集キー/
■98893 / inTopicNo.4)  Re[3]: scottplotを使用してのグラフ描画
□投稿者/ 魔界の仮面弁士 (3276回)-(2022/01/13(Thu) 16:55:01)
2022/01/13(Thu) 16:57:27 編集(投稿者)

No98892 (ざんげ さん) に返信
> 新しいプロジェクトを作成し、別のフォームから関数を呼び出してみたら描画することができたのでどうやら関数の呼び出し元がおかしいみたいです。

Form3 の別インスタンスを操作していたりはしないでしょうか。
フォームの起動方法は、以下のどの方法で行っていますか?


(1) 明示的なフォームをモードレスで呼ぶ

Dim child As New Form3()
child.Show(Me)


(2) 明示的なフォームをモーダルで呼ぶ

Using child As New Form3()
 Dim result = child.ShowDialog(Me)
End Using


(3) 暗黙のフォーム変数をモードレスで呼ぶ

Form3.Show(Me)


(4) 暗黙のフォーム変数をモーダルで呼ぶ

Dim result = Form3.ShowDialog(Me)


(5) 上記以外の方法



また、Form3 の Add_Plot メソッドを呼び出す際には、
対象のフォーム インスタンスをどのように指定していますか?
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -