問題タブ [parallel-coordinates]
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.
java - Javaでの多次元データの平行座標の実装
JOGLライブラリを使用してJavaで並列座標を実装することを計画しています。他に何か提案はありますか?
ありがとう
バラ
python - Matplotlibの平行座標プロット
2次元および3次元のデータは、従来のプロットタイプを使用して比較的簡単に表示できます。4次元データでも、データを表示する方法を見つけることがよくあります。ただし、4を超える寸法は、表示がますます困難になります。幸いなことに、平行座標プロットは、より高い次元で結果を表示するためのメカニズムを提供します。
Matlab、R、VTKタイプ1、VTKタイプ2など、いくつかのプロットパッケージは平行座標プロットを提供しますが、Matplotlibを使用して作成する方法がわかりません。
- Matplotlibに組み込みの平行座標プロットはありますか?確かにギャラリーには見当たりません。
- 組み込み型がない場合、Matplotlibの標準機能を使用して平行座標プロットを作成することは可能ですか?
編集:
以下のZhenyaの回答に基づいて、任意の数の軸をサポートする次の一般化を開発しました。上記の元の質問で投稿した例のプロットスタイルに従って、各軸は独自のスケールを取得します。これは、各軸ポイントでデータを正規化し、軸の範囲を0〜1にすることで実現しました。次に、戻って、その切片で正しい値を示すラベルを各目盛りに適用します。
この関数は、反復可能なデータセットを受け入れることによって機能します。各データセットは、各ポイントが異なる軸上にあるポイントのセットと見なされます。の例で__main__
は、30行の2セットで各軸のランダムな数値を取得します。線は、線のクラスタリングを引き起こす範囲内でランダムです。確認したい動作。
このソリューションは、マウスの動作がおかしく、ラベルを介してデータ範囲を偽造しているため、組み込みソリューションほど良くありませんが、Matplotlibが組み込みソリューションを追加するまでは、許容範囲内です。
編集2:
これは、フィッシャーのアイリスデータをプロットするときに上記のコードから得られるものの例です。ウィキペディアの参照画像ほど良くはありませんが、Matplotlibだけがあり、多次元プロットが必要な場合は問題ありません。
javascript - protovis の平行座標
私はこのhttp://mbostock.github.com/protovis/ex/cars.html車の平行座標のサンプルを見つけました:
それはうまくいきます。平行線に沿ってフィルターを適用すると、対応するデータ (水平線) が強調表示されます。しかし、私が知りたかったのは、個々の水平線 (データ) をどのように選択/識別できるかということです。通常、getElementById などの javascipt で行うことと同様に、firebug でデバッグしようとしましたが、それらの行を選択できませんでした。コードは以下に掲載されています: これはメインの html ページです:
データは cars.js にあり、次のようになります。
javascript - 平行座標の視覚化で各垂直軸のラベルを設定するにはどうすればよいですか?
私はd3.js(およびstackoverflow)を初めて使用し、現在、平行座標の例を使用しています。現在、データに「row」という名前の2次元配列を使用しています。各縦軸の上には「0」または「1」または「2」などのラベルがあります。ただし、各縦軸に行[0][i]のテキストでラベルを付けたいと思います。0、1、2という数字はデータムから来ていると思います。代わりにrow[0][i]のラベルを使用する方法について何か提案はありますか?私はかなり基本的な何か間違ったことをしているのではないかと思います。関連するコードは次のとおりです。ありがとう !
r - このようにRでプロットする方法は?
このようにRでプロットする方法(グラフと同じ)? 回答にRコードを投稿していただけますか?
私は R の初心者ですが、R でプロットするのは難しいと思います。
ありがとうございました !
r - 並列座標プロットggplot2は非推奨ですか?
ggplot2で平行座標を作成しようとすると、非推奨であるというメッセージが表示されます。
警告メッセージ:「ggpcp」は非推奨です。ヘルプを参照してください( "非推奨")
ただし、ggplotのドキュメントにはこれについて何も書かれていません:http://docs.ggplot2.org/current/ggpcp.html。
どこかに新しいpcp関数はありますか?
javascript - d3jsパラレル座標カテゴリデータ
カテゴリ データを d3js 平行座標に追加する方法を探しています。D3js は私にとって初めてのことです。何が行われているかの一部は理解できますが、これを行う方法を理解することはできませんでした。私のデータのほとんどは連続的であるため、並列セットは適切なオプションではありません。
車の例を考えると、軸上でブランドごとにフィルター処理できるようにしたいと思います (たとえば、フォードのデータのみが表示されるようにフィルター処理します)。各車を定義するには変数が必要であると想定しています (例: プジョー、フォード、BMW、アウディなど...)
車例はこちら。
応答してくれた人に感謝します。
javascript - 異なるオブジェクト間でブラシを同期する
並列座標の元の実装を拡張しましたhttps://github.com/syntagmatic/parallel-coordinates。現在の視覚化は次のようになりますhttp://xmashallax.xm.funpic.de/bc/test_csv.html:
基本的に、現在、軸の次数が異なる行列の形で配置された3つの異なる平行座標ウィジェットがあります。
私の現在の目標は、これらの行の間でブラシを同期することですが、これをどのように達成できるかわかりません。私は3つの異なるオブジェクトを持っており、それらの変更をすぐに同期させたいと思っています(可能な場合)。シリンダーの1行目にブラシを作成するとします。これで、行2と3のシリンダーは、そのブラシをデータに適用する必要があります。
「ブラシ」ハンドラーはすでに実装されていますが、私の問題は、コールバックなどで他のハンドラーに通知することです(これを書いている間、オブザーバーパターンが頭に浮かびます)。元のコード内で何時間も費やしましたが、それでもすべての詳細を理解しているわけではなく、助けが必要です。
javascript - D3 平行座標プロットのズーム
csv ファイルのデータを表示するために平行座標を使用しています。
私のアプリケーションでは、軸にデータを表示する方法を変更する必要があります。軸の値ごとに、点を描く必要があります (例: r=3 の円)。同じ軸に値が重複している場合は、次の図に示すように円を隣り合わせに描く必要があります。
私のアプリケーションのもう 1 つの要件は、軸にズーム機能を提供することです。これにより、特定の点を近くで見ることができます。
私が考えていたのは、マウスホイールイベントを使用して軸の高さを変更してズームインおよびズームアウトすると同時に、ポイント間の距離を大きくすることでズームを実行することです。
高さを変更する必要があるたびにページを更新せずに、マウスイベントホイールで斧の高さを変更してズームを実行する方法はありますか?
javascript - D3 平行座標プロットのプログラムによるマウス ホイールによるズームの実行
アプリケーションで D3 の平行座標を使用しています。プログラムでズーム機能を追加したい。
ズーム機能はうまく機能していますが、まだ少し問題があります。マウスの位置にズームしたいのです。
配列にマウスの X と Y がありますが、後でそれらを使用してこの位置をズームする方法がわかりません。
私が今まで得たのはSVGズームですが、画面は常にページの左側と上部にあります。
ズームでマウス位置座標を使用して、画面上のマウスカーソルの周囲の領域を取得するにはどうすればよいですか?