問題タブ [thejit]
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 - InfoVis / JITの力指向グラフでカスタムノードを非表示にして復元するにはどうすればよいですか?
InfoVis / JITを使用して、ネットワークを視覚化する力指向グラフをレンダリングしようとしています。私はJavaスクリプトとJITの両方の初心者です。jsファイルで次のコードを使用して独自のカスタムノードタイプを作成しました。これにより、ノードに画像を表示できます。
jsonデータオブジェクトで「$type」:「icon1」を使用して、このカスタムノードタイプをノードに割り当てています。ノード上で画像を取得しますが、問題は、必要なときに画像を非表示にできないことです。次のコードを使用して、円、正方形などの組み込みノードタイプを非表示にすることができます。
ただし、同じコードはカスタムノードでは機能しません。そのため、ノードのタイプを一時的に組み込みの「円」タイプに変更し、それを非表示にしてから、ノードのタイプを元の、つまりカスタムノードであるicon1に再設定しようとしました。
これはうまくいくはずですが、カスタムイメージがしばらくするとキャンバスに戻ってきます。ノードのタイプを元のタイプにリセットしない場合、つまり上記のコードで次のステートメントをコメントアウトしてhide関数を呼び出すと、ノードは非表示になります。
ノードのタイプをカスタムタイプに設定するだけでは、ノードがどのようにレンダリングされるのか理解できません。この質問の助けをいただければ幸いです。
unhide関数を呼び出して必要なときにノードを復元したいので、ノードのタイプを元にリセットする必要があります。ノードのタイプを元にリセットしないと、復元時に円としてレンダリングされます。
APIとJITのGoogleグループを調べましたが、答えが見つかりませんでした。誰か助けてもらえますか?
javascript - ヒント.hide() 関数。infoVis/JIT の潜在的なバグ?
「ヒント」が有効になっている強制有向グラフがあります。非表示のノード、つまり「アルファ」がゼロのノードのヒントを表示したくありません。onShow コールバック関数では、tips.hide() を使用しようとしていますが、ヒントを隠していません。これが私のコードです。
infovis ライブラリ jit.js を掘り下げると、バグのようなものが見つかりました。以下は、基本的に style.display を「none」に設定する hide 関数です。
以下のコードを見てください。
ご覧のとおり、onShow 関数は onMouseMove 関数から呼び出されます。onShow の後、setTooltipPosition 関数が呼び出され、style.display が ' ' に戻されます (コード内の私のコメントを参照)。このため、 onShow 関数から hide() を呼び出した後でも、ヒントは非表示になりません。setTooltipPosition でその行をコメントアウトすると、機能しました。つまり、非表示のノードのツール ヒントが非表示になりました。
これは infovis のバグですか、それとも何か間違ったことをしていますか? バグでない場合、非表示機能の使用方法を知りたいです。
また、ツール ヒントを非表示にする他の良い方法を知っている人はいますか?
javascript - infoVis JIT グラフでノード間の最小距離を指定する
強制有向グラフでノード/エッジ間の最小距離を指定できる方法はありますか?
1 つのノードが他の何百ものノードに直接接続されているグラフがいくつかあります。このような場合、特定のエッジまたはノードを選択するのは非常に困難です。これは、エッジとノードが非常に接近しているため、 onMouseEnter 、 onClick などのイベントが発生しないためです。ユーザーはそれを期待しています。
たとえば、nodeA と nodeB が本当に近い場合、nodeA にカーソルを合わせて強調表示されると予想すると、nodeB に対してイベントが発生するため、nodeB が強調表示されます。エッジ同士が近すぎる場合も同様です。基本的に、どのノード/エッジがホバリングまたは選択されているかをユーザーが正確に知ることは、本当に混乱します。
辺の長さを指定できることは知っています。これでこの問題はある程度解決できますが、何百ものノードとエッジがある場合は役に立ちません。また、辺の長さをキャンバスの高さ以上に設定することはできません。
ノード/エッジ間の最小距離を指定できれば非常に便利です。
どうすればそれができるか知っている人はいますか?
infovis - Infovis でプレーンラインを矢印ラインに変更
Infovisで普通の線を矢印の線に変更するには?
現在、ブロック間にいくつかの行があり、いくつかのcssファイルが見つかりましたが、プレーンラインを矢印ラインに変更できるようなラインの動作を説明するコンテンツが見つかりません.
ありがとう。
javascript - Javascript Infovis Toolkit の Spacetree サンプルがローカルで機能しない
InfoVis ツールキットをベースに独自のツリー アニメーションを作成しようとしています。特に、Spacetreeツリー アニメーションのサンプルをカスタマイズしたいと考えています。そのため、サンプルをローカル コンピューターに保存しましたが、ローカル サンプルを開くと正しく動作しません。つまり、結果は Web バージョンとまったく同じではありません。まず、ノードが色付けされていません。次に、onClick イベントに対する応答がありません。html ファイルのローカル バージョンと Web バージョンの両方を確認しましたが、すべて同じで、すべての js ファイルと css ファイルが適切に呼び出され、アクセス可能です。誰かが同様の問題を抱えていましたか?もしあれば解決策を共有してください。前もって感謝します。
スクリーンショット:
javascript - Infovis JIT: クリック リスナーをエッジに追加
サンバースト グラフの端でクリック イベントをキャプチャしようとしています。ノードのクリック イベントを既にキャプチャしました。これは私がしようとしているものです:
ただし、これはノードのクリックのみをキャプチャします。どうしたの?前もって感謝します。
javascript - Jit - 他のサブツリーを非表示にするのではなく、ノードの展開時に SpaceTree のサイズを変更しようとしています
私は Jit の Spacetree ( http://flashcanvas.net/examples/thejit.org/static/v20/Jit/Examples/Spacetree/example1.html ) を使用しており、ノードをクリックしたときの場所に変更しようとしています。展開すると、他のノードは非表示になりませんが、すべてのノードがキャンバスに収まるようにサイズが変更されます。
私がやろうとしているのは、d3js の折りたたみ可能なツリー レイアウト ( http://mbostock.github.io/d3/talk/20111018/tree.html ) に似ています。ただし、私が取り組んでいるプロジェクトはIE8と互換性がある必要があるため、d3jsを使用できません。現在、d3jsはIE8では機能せず、Raphael JSとd3jsを組み合わせようとするライブラリは機能していませんちゃんと。
私はコードを探しているわけではありませんが、それを実装する方法についてのアイデア (Jit のソース コードを変更するか、自分の .js ファイルで手動で行う必要があるか) ありがとうございます。
infovis - JavaScript InfoVis ToolKit のカスタム イメージ ノードに css スタイルを追加する方法
ユーザーの画像を表示するフォース ディレクテッド InfoVis グラフのカスタム ノードを作成しました。ボーダーを追加して円にするなど、画像にスタイルを追加したいと思います。次のようにcssクラスを追加しようとしましたが、うまくいきません。
これが私のカスタムノードコードです: