2017-07-13 7 views
0

私は、一連の円であるグリフを持っています。私は1つの点をクリックして、選択されていないグリフの色/アルファを変更して、選択されていないグリフのそれぞれが選択された点との関係に基づいてカスタムカラーを持つようにします。選択されたものに基づいてBokehの選択されていないグリフの視覚的性質

例えば、私が選択されていないグリフが異なる持っている他の質問を見てきました1に近いアルファと0

に近いアルファを持って遠いを持つように選択した点に最も近いポイントをしたいと思いますアルファは、選択されているものとは無関係です。 JavaScriptを使用せずにこれを行うことは可能ですか?詳細は

編集:私が働いている

特定のデータセットは、特定のステーションとの間で行わ旅行上のデータと、自転車共有システムのデータセットです。特定のステーションをクリックすると、選択したステーションから開始するときに、ユーザーが移動するデスティネーションステーションを表示する必要があります。 n局の場合、データはn * n形式になります。各局ごとに、他のすべての局に行く確率があります。理想的には、この確率は選択されていないステーションのアルファになります。最も人気のある目的地はアルファベットが1に近く、アルファが0に近いほど人気が​​あります。

+0

こんにちは。 Bokehでは、私にとっては不可能で、純粋にPython callabckで行うことはできません。問題を解決するには、クリックしたポイントの情報を取得するためのタップツール、ユークリッド距離で他のすべてのグリフを並べ替えるコールバック、そしてその並べ替えに基づいて各グリフのアルファを変更する必要があります。これはBokehでは不可能ではないでしょう。しかし、それは難しいでしょう。この問題を解決するために選択した方法論の特定の部分をより具体的な質問に戻すと、さらに役立ちます。運が良かった。 – DuCorey

+0

@DuCorey詳細を追加しました。私の場合は、駅間の確率のデータベースを参照するタップツールとコールバックを使用します。 –

答えて

0

トリプルライティングBokehはブラウザーでの使用法をサポートしていないため、選択されていない色とアルファの「単一値」の設定のみがサポートされています。つまり、非選択プロパティは、ColumnDataSource列でそれらを指すことによってベクトル化することはできません。それぞれが異なる別のnonselection_colorを持っていることを、グリフの異なるグループに

  • スプリットグリフ:だから私は考えることができる唯一の2つのオプションがあります。これは、あなたが少数のグループしか持たない場合に実現可能です。もちろん、データを分割する必要があります。 1つではなくp.circleへの5回の呼び出しが、JSを完全に避けることになります。

  • CustomJSコールバックで少量のJavaScriptを使用します。選択されていない色を提供する列をCDSに追加することができます。選択が行われると、CustomJSコールバックは、グリフの通常のカラーフィールドを他のカラムを指し示すように切り替え、選択がクリアされると、それを「通常の」フィールドに戻します。

+0

多くのバイクステーションがあるので、ステーションごとにグリフを付けるのはおそらく現実的ではないと思われます。詳細について質問を編集しました。私はコールバックを使用します、ありがとう! –

関連する問題