質問: data1; plot1.InvalidatePlot(true); ``` 上記のように、data1には、x,yの値がそれぞれ約1000個程度のデータが格納されており、そのデータをoxy:LineSeriesのline1に渡しているつもりなのですが、「発生している問題」の項に添付したキャプチャのように、プロットが全く表示されない状態です。 なお、値のレンジはキャプチャに表示されているX、Yのレンジ内に収まる数値が格納されております。 ### 試したこと ラインの色を変えてみたり、data1に確かにデータが正しく入っていることを確認したりしましたが、特に問題箇所が見つけられず困っております。 皆様のお知恵をお借りいたしたく、宜しくお願いいたします。 追記: data1の変更後、プロットをアップデートするために、oxy:plotに名前をつけ、plot1.InvalidatePlot(true)を追加しました。 plot1の上記のmethod自体は受け付けられているもののプロットは表示されませんでした。 また、plot1の中身を見ると、Series⇒[0]⇒Items⇒ItemsSourcesに、確かに指定したデータが格納されていることは確認できました。 データ自体はplot1に渡っているので、後は描画のコマンドだけだと思うのですが、InvalidatePlotもRefreshPlotも上手くいかない状態です。 (RefreshPlotはそもそもMethodとしてありませんでした) ### 補足情報(言語/FW/ツール等のバージョンなど) visual studio 2015で作成しております。
回答: OxyPlotは明示的にデータの変更時にRefreshPlotとか、Invalidateとかのメソッドを呼ばないといけなかった気がします。 WPFなのにその辺が面倒だなと思った記憶があるだけなので、リファレンス等を探してみてください。 質問にある参考サイトはWindow生成時(表示前)にはデータが入っている状態となっており、動的な追加や変更に対応しているかはわかりません。 現在、OxyPlotを実際に使用しているわけではないので参考までに。 ### 補足 以前試したコードを見たら、OxyPlot.PlotModelをバインディングする構造で作っていました。 モデルとしてPlotModelを使用するほうがXAMLで設定するより型がわかりやすいかもしれません。