問題タブ [r-plotly]
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.
r - 光沢のあるggplotlyからデータの行を取得するにはどうすればよいですか
以下のコード。
イベントを使用して、plotly_click
選択されているデータを把握しようとしています。しかし、私はそれを行う方法を理解できません。plotly_click によって提供されるデータは非常に最小限であり、グループ化やグループはまったく含まれていません。私は JS の経験はありませんが、方法があるに違いないことはわかっています。私の目標は、データ ポイントを選択し、data.frame で対応する行を取得できるようにすることです。d1
r - plotlyを使用したRの散布図の横にあるBoxplot
R で plotly を使用して散布図を作成しました。次に、散布図の隣に異なるデータを含む箱ひげ図をプロットしたいと思います。これにはプロットを使用したいと思います。
結果は次のようになります。誰かが私を助けてくれますか、私はそれを行う方法がわかりません。これまでの私のコードは
r - 関数内で作成された古いobserveEventsによって引き起こされる不要なポップアップストーム
データが変更されたときに、関数内で作成されたオブザーバーが複数回存在しないようにする方法は?
更新:
- テストを容易にするために、github のアプリをさらに簡素化しました。- 使用しようとしているdestroy
----
プログラム全体でいくつかの (10 程度の) プロットのバージョンを必要とするアプリを作成したため、2 つの関数を作成しました。
myplotly
プロットを作成するmypopup
プロット内の各粒子に属する pulseshape プロット、ポップアップmyplotly
内のオプション ボタンmodaldialog
、および所属するオブザーバーを含むポップアップを作成します。
これらのダイアログは、ユーザーが最初のグラフのポイントをクリックすると開きます。
この関数の短縮バージョンは次のようになります。
関数*1は、対応するデータ フレームが作成またはロードされたときに呼び出され、データが変更されたときに再度呼び出されます。
私が直面している問題は、データが変更され、ユーザーがポイントをクリックした後、ポップアップとすべてのオブザーバーが 2 回起動することです。データが再度変更されると、ポップアップが 3 回発生します。また、古いデータに基づくポップアップは、プロットに複数のクラスターがあることを認識しないため、クラスター 2 または 3 をクリックすると、エラー/NA プロットなど..
ステートメント:
- obs$destroyを使用すると問題が解決する可能性がありますが、簡単ではありません (脚注*2を参照)
- そもそもなぜ私たちはダブルオブザーバーを得るのですか? 症状を修正することは 1 つのことですが、単純に上書きされない理由を理解することは、私にとってまだ謎です。
作業コードとそれを実行するためのいくつかのファイルの簡略化された例を作成しました。これらはすべて、次の github リンクにあります: https://github.com/madmark81/Observer-Madness
脚注
1関数として記述した理由は、ベース データフレームとパルス データフレームの一意の組み合わせ、およびグループ ID を含む列に応じて、このプロットとポップアップの組み合わせをメイン アプリで何度か適用するためです。そしてグループ名。
2 Maximilian は、変数へのオブザーバーの割り当てを使用するというアイデアを思いつきました。しかし、これの実装は mypopup 関数の外で行う必要があり、通常は mypopup 関数の 4 つの入力引数によって分類される複数の入力引数を使用するオブザーバーで動作させることができませんでした。ただし、たまたま入力引数が 1 つしかない次の例のように、lapply 呼び出しを使用して実行することはできません。
その後、データが変更されるたびに destroy 呼び出しが行われます。
更新 2
ただし、オブザーバーが mypopup 関数コードの外側で作成される場合、破棄して「o」に割り当てる必要はないようです。クリックは、私が見つけた時間にのみ観察されます。したがって、すべてのオブザーバーをlapply
orスタイル ソリューションで作成する方法を単純に見つける必要がありますが、コードmapply
の外側にあるのでしょうか?mypopup
r - Plotly R のマップのリンク クリック
データ :
https://www.kaggle.com/wood2174/mapkickstarter
だから私は光沢のある陰謀で作っている地図を持っていて、州をクリックしてからその州を引き上げてその州の郡に関する情報を得るのが好きです。よく iv プロットで他のリンクされたプロットの例を見ましたが、この方法でマップを設定する方法がわかりません。これはクリックする前の私のプロットです。
event_data 引数を使用して、2 つの間で正しい方法で引数を渡していないと確信しています。私が渡している引数は州の名前になり、その名前は、州名を呼び出すための文字として CT と呼ばれる私の関数に突き出されるので、クリックされた州から郡データを見つけることができます。 data と pop は、関数に渡される他の 2 つのデータ フレームです。これは、光沢のあるサーバーの外側で関数 douse を実行し、インタラクティブなホバー マップを生成するものです。
コード: