問題タブ [dynamic-data-display]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - WPF と C# .net 3.5 でリアルタイム信号をプロットするにはどうすればよいですか?
WPFとC#(動的データ表示)を使用して、リアルタイム信号、信号対時間のプロットを試みています。信号が生成されると、すぐにプロット チャートに表示されます。信号は非常に高速 (ミリ秒 (0.001 秒) のオーダー) で生成できます。それを行う最良の方法は何ですか?どんな提案でも大歓迎です.Thanks.
EDIT:サンプルコードは高く評価されます。
これが私が試したことです:
プロットの開始:
データ更新:
私が抱えている問題は、信号が非常に太い場合です。たとえば、新しい信号がミリ秒ごとに生成されると、グラフは1秒ごとに新しいマーカーしか生成しないようですが、これはわかりません。
基本的な考え方は、plotter.AddLineGraph を生成してから、DataSource のみを更新することです。しかし、うまくいかないようです。だから私は間違った方向に進んでいるのかもしれないと思いました。
私は C# や WPF の専門家ではありません。LineAndMarker が期待どおりに機能しないとき、私は疑うようになりました。したがって、WPF と C# を使用して、人々がリアルタイム信号を表示する一般的な方法 (急速に変化し、サンプル間の時間間隔がミリ秒になる可能性があります) はどうなるのだろうかと思っています。
c# - LineAndMarkerマーカーだけが表示され、線は表示されませんか?
線で結ばれた点の束で表されるデータをプロットしようとしています。しかし、プロットを行うと、ドットが表示されているだけで、線は見えません。何が問題なのかわかりません。これが私のコードで、これがLineAndMarkerプロッタの開始方法です。
動的表示のデータが更新される方法は次のとおりです。
基本的な考え方は単純です。プロッタを作成してから、データと色のみを更新します。赤い点が分離しているだけですが、緑やそれらの点を結ぶ色の線は見当たりませんでした。私は混乱しています。誰が私が間違ったことを指摘できますか?どうもありがとう。
c# - WPF C# DynamicDataDisplay - DateTimeAxis の色の変更
d3 チャートプロッタの日時軸の色を変更する方法を知りたいです。
変更したい色は、2 つの棒の間の茶色と白い背景色です。
私がそれを行う場合:
最初の茶色のバーの上にあるものだけを変更します。
この 2 つのバーの色を変更することはできますか?
c# - D3 プロッターとファイル ウォッチャー、干渉?
ファイル出力を監視するファイル ウォッチャーを使用し、d3 (動的データ表示) を使用して結果を動的に表示します。詳細は次のとおりです。
- データは、1 つずつすばやく生成される一連の tiff ファイルです (ファイル生成あたり 20 ~ 25 ミリ秒)。
- ファイルが入ってくると、イベントが発生し、ファイルが処理されます (いくつかの統計計算)。
- 結果は d3 プロッターに送信され、チャーターに動的に結果が表示されます。
d3チャーターウィンドウを閉じると、ファイルウォッチャーはほとんどすべてのイベントをキャッチしますが、ここに私の問題があります:
- ただし、d3 チャーター ウィンドウを開いたままにしておくと、統計計算がない場合でも、File Watcher は多くのイベントをドロップします (いくつかの大きなギャップが発生します)。
これが私たちが試したことです:
- ウォッチャー バッファーを増やしますが、d3 チャーター ウィンドウが開いている限り、イベントはドロップされます。
- C++ dll を使用して統計を計算しますが、さらに遅く見えます。
だから私は疑問に思っています:
- d3 プロッターとファイル ウォッチャーは競合/干渉しますか?
- それらを一緒に使用してリアルタイムでプロットすることはできますか?
- とにかく私の問題を回避する方法はありますか?
任意のポインタをいただければ幸いです。
コンストラクター、プロッター イニシエーター、プロッター更新を含む d3 プロッターのコードを次に示します。
ファイルの監視方法は次のとおりです。 イベント (ファイルの書き込み) がファイルされる場所
tiff データ処理、および d3 プロッターへのデータ通信:
私は Timer.Tick を使用して、50 ~ 100 ミリ秒ごとにファイルを処理しますが、まだテスト中です。
c# - 別のスレッドが所有しているため、呼び出しスレッドはこのオブジェクトにアクセスできません
私はDynamicDataDisplay
プロットに慣れています。エラー メッセージが表示されました:デバッガーが次の行にヒットしたときに別のスレッドがそれを所有しているため、呼び出し元のスレッドはこのオブジェクトにアクセスできません:
次のように使用してプロットを描画するとき、私はこれについて混乱してLineGraph
います:
それはうまくいきます。ポイントマーカーを描画するとエラーメッセージが表示されるのはなぜですか?ありがとう。
_curveColors
編集:が定義されている場所に追加したコーディングを次に示します。
理由がわかりました。SpaceghostAli が言及したのとまったく同じように、_curveColors が実際にこのエラーの原因です。
理由が完全にはわからなかったと言わざるを得ませんが、すべての _curveColors を定義済みの色に置き換えると、問題はなくなります。特に、エラーが発生するコードは次のとおりです。
エラーのないコードは次のとおりです。
_curveColors のみが確定的な色に変更されていることがわかります。
c# - バインディングの使用時に動的データ表示 LineGraph が正しく更新されない
この問題は修正されました。以下のコードに修正を加えました。コメント アウトされたセクションは古いコードのものです。
元の質問: 動的データ表示 LineGraph を使用しようとしていますが、更新に問題があります (D3 リンク: http://dynamicdatadisplay.codeplex.com/ )
コードはコンパイルおよび実行され、コンストラクターに Line が表示されますが、表示メッセージの 1 つを開始してもグラフは更新されません。表示メッセージが表示され、値のリストが更新されることを確認しました。グラフをクリックするかズーム機能を使用すると、データが画面上で更新されます。
XXX_Display1_VM.cs:
XXX_Display1.xaml.cs:
XXX_Display1.xaml:
ありがとうございました。
c# - 長方形の可変数の動的データ表示グラフ
最終的に一連の長方形 (異なるサイズと位置、重ならない) になるユーザーの入力データをグラフにプロットしようとしています。私が読んだすべての例は、可変数のポイントを持つプロット ラインのみか、XAML の形状にハードコードされています。しかし、データに必要な四角形の数はわかりません。私の理想的なケースは、MVVM に従い、単純に XAML から変更可能な ObservableCollection にバインドすることですが、私が目にするほとんどの例では、ChartPlotter に直接アクセスする代わりにコード ビハインドを使用しているようです。これは、いくつかの単純な長方形を描画し、1 つを修正したものです。これは機能します。
VisualizationWindow.xaml
VisualizationWindow.xaml.cs
動的データ表示に関するドキュメントはほとんど存在しません。D3がエレガントにできない場合、他のライブラリがこれをより簡単にできるかどうか知りたい.
c# - DynamicDataDisplay グラフの水平文字列軸
DynamicDataDisplay3 を使用してグラフを描画する必要があります。X軸を日付や整数ではなく文字列に変更する方法が見つからないことを除いて、すべて正常に機能します。これは私がやろうとした方法ですが、X軸に1つの値しか得られません:
wpf - 凡例チェックボックス付きの動的データ表示チャート (WPF)
http://research.microsoft.com/en-us/um/cambridge/projects/ddd/d3isdk/のその他のリンクで、「折れ線グラフの凡例」と呼ばれる例を再作成しようとしています。
Silverligth ではなく WPF を使用しており、次の XAML 部分の参照を取得する際に問題がありました。
ありがとう
c# - C# WPF で chartplotter データをリセットする
動的データ表示ライブラリを使用して、動的な整数値を頻繁に表示し、それを折れ線グラフ (「line1」) として「plotter」というチャートプロッターにプロットしています。私が望むのは、チェックボックスのチェックを外したときにチャートプロッターからすべてのデータを消去し、もう一度チェックしてプロットを再開する方法を用意することです。私は plotter.Children.Remove(line1) でそれを達成できるかもしれないと思っていましたが、古いデータは消去されません。代わりに、古いデータを再度プロットすると、データ行が二重になります。ここに私がこれまでに持っているコード例 (いくつかの疑似コードを含む) があります。
これは、最初にデータが再びプロットされ始めたときに取得している折れ線グラフですが、古いデータがまだそこにぶら下がっています。私が達成したいのは、古い線が存在しないきれいな新しいグラフです。画像を投稿するための最低ポイントがありません。こちらの画像をご覧ください: https://dl.dropboxusercontent.com/u/49447650/test5.png