問題タブ [networkd3]
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.
javascript - R networkD3 パッケージ: simpleNetwork() でのノードの色分け
networkD3
パッケージ (こことここを参照)を使用すると、ユーザーは単純なインタラクティブ ネットワークを作成できます。
src
ベクター内のすべての要素を別の色にすることを許可しながら、ベクター内のすべての要素を特定の色にすることを指定する方法はありますtarget
か? これにより、ネットワーク内のノードとsrc
ノードを視覚的に区別できます。target
この機能は現在サポートされていないようですsimpleNetwork()
(しかし、誰かが自作スクリプトで私を助けてくれることを願っています):
同様の、しかし関連のない質問がここで尋ねられました。
r - networkD3 プロットの背景色を変更する
パッケージ内の最小限の例を使用して、networkD3プロットを作成するとします
これをブラウザで開くと、開発者ツールを使用してボディの背景色を次のように変更できます。background-color: #DAE3F9;"
ブラウザーで開かずに、プロットの背景色 (デフォルトの白から) を別の色に自動的に定義する方法はありますか? 基本的に、JS 関数を追加できるように、コードに直接 CSS を追加できますか?
r - R で関係データを階層リストに変換する
これが私の最初の質問です。だから、優しくしてください。
次の形式のデータがあります。
基本的に、これはネットワーク マップの作成に使用できるエッジのリストです。
diagonalNetwork
以下の関数で使用できる形式に変換したいと思います。
このような:
このループを使用してリストを生成しようとすると:
次のエラーが表示されます。
1) のリストを作成するより良い方法はありdiagonalNetwork
ますか?
2) それができない。ループを修正して、正しい構造のリストを追い出すにはどうすればよいですか?
3) 私が使用すべき他の関数/パッケージはありますか?
助けてくれてありがとう、私はしばらくこの壁に頭をぶつけていました。SO に関する質問をするためのより良い方法についてのフィードバックも歓迎します。
説明:
同様の質問がここにあります。Convert a data frame to a treeNetwork compatible list . ただし、ルートが常に最初の列にあり、その子が後続の列にあるデータ構造に依存しています。これは、igraph で一般的に使用されるこの質問のようなエッジのリストではありません。
r - clickAction = NULL を使用して networkD3 のノードを Web サイトにリンクする
forceNetwork()
のnetworkD3
パッケージの機能を使用して、ノードを外部 Web サイトへのリンクとして使用する方法はありますr
か? 私は多分変更を考えていたclickAction
?
サンプルデータ:
望ましい結果: ユーザーがノードをクリックすると、ノードにwindow.open
関連付けられた URL を指すclickAction
新しいタブが開きます (例: ) MisNodes$URL[d.index]
。
javascript - JavaScriptでテキストラベルのスタック順序を変更するには?
R で networkD3 を使用してネットワーク グラフをプロットしようとしています。テキスト ラベル (マウスオーバー時に表示される) が読みやすいように、表示を変更したかったのです。
例については、こちらのリンクを参照してください。注: d3ForceNetwork プロットにジャンプします。
例に見られるように、ラベルはその色のために読みにくく、周囲のノードによって遮られることがよくあります。私はJSファイルをいじっていて、テキストラベルの色を黒に変更することができました。ただし、JS や CSS の知識がないため (実際には 2 つの違いさえわかりません)、テキスト ラベルが常に他のオブジェクトの上に表示されるようにスタックの順序を変更する方法がわかりません。
希望する結果を達成する方法について誰かアドバイスしてもらえますか?
以下は、完全な JS ファイルです。
ここのコードにいくつかの変更を加える必要があると思います:
r - 多層 SankeyNetwork (NetworkD3) が R でプロットされない
NetworkD3 パッケージを使用して、2 層の Sankey Networks をプロットすることに成功しました。ソース、ターゲット、値の列のデータフレームを取り、サンキー プロットを出力する関数を作成しました。この関数を使用して、同様のプロットをすばやく作成できます。私の質問は関数の効率に関するものではありませんが、おそらく私の問題の原因は関数にあります。
以下に、再現可能な例を示します。関数が 2 つのデータセット (z1 と z2) の SankeyNetwork を生成する方法を示します。ただし、これらのデータセットを 3 層の SankeyNetwork を作成するというアイデアと組み合わせると、ビューアーには何もプロットされません (幅と高さも増やそうとしました)。これはインデックス作成と関係があるのではないかと推測していますが、以前はインデックスをゼロにする必要があるというエラー出力が表示されていました。エラーは表示されず、空白のプロットが表示されます。
r - R ライブラリ networkD3 を使用したサンキー ダイアグラムに色が表示されない
Sankey ネットワークを作成するために、R 用の networkD3 ライブラリを使用しています。これは私にとっては非常にうまく機能しますが、 https: //christophergandrud.github.io/networkD3/#sankey に示すように、属性「NoteID」および/または「NoteGroup」をグループ化して色を割り当てる際に問題が発生しました。
次のコードは、サンキー ダイアグラムを作成する 4 つの例を示しています。「Sankey4」のみが設計どおりに機能します。つまり、色はありません。
「Sankey1」は、上記の Web の例で使用されている方法で「NoteID」を使用しようとしますが、その結果、図がまったく表示されなくなります。「Sankey2」も同様。「Sankey4」は、配色定義に関係なく灰色で表示されます。
また、「Sankey1」を生成する R コードとhttps://christophergandrud.github.io/networkD3/#sankeyで使用されるコードの両方によって生成される html コードも調べました。明らかに、グループに関して違いがあります。
「Sankey1」からの HTML:
Web の例からの HTML の抜粋:
Web サンプルからの出力を反映するために「Sankey1」の出力 html を変更すると、問題が解決し、「Sankey1」はデフォルトのカラー スキーマを使用して表示されます。
現在、使用しているデータの動作を理解しようとして壁にぶつかっています。sankey 関数は、必須のリスト入力に依存しません。実際には、Web サイトのサンプル データ セットを 2 つのデータ フレーム (ノード、リンク) に分割しました。これにより、Web サンプルと同じ色付きのサンキー ダイアグラムが生成されます。したがって、私の例の入力データに何か問題があるに違いありません...私は推測します...どんな助けも大歓迎です! ありがとうオリ
r - networkD3 と igraph の配色
以前の分析で各ノードを特徴付けたネットワークがあり、次のように色を割り当てました。
変数「node_colors」は、色が頂点の配置/クラスタリングと一致するように、以前の分析から作成されたベクトルです。
ただし、networkD3 でパーソナライズされたカラーリング スキームを実装しようとすると、「未使用の引数」エラーが発生します。
エラー: 警告: forceNetwork のエラー: 未使用の引数 (colorScale = node_colors)
NetworkD3 は独自のカラーリング スキームを作成しているように見えるので、引数 'colorScale=node_colors' を省略すると、次のようになります。
しかし、ご覧のとおり、色は igraph プロットの色と同期されていません。
networkD3でパーソナライズされた配色(一連の色を含むベクトル)を作成する方法を知っている人はいますか