Altair-y軸を別のチャートのx軸にリンクします

ホルヘ

2つの信号を視覚的に比較する必要があり、Altairを使用して以下の例のようなインタラクティブなチャートをプロットしています。

import altair as alt
import pandas as pd
import numpy as np

np.random.seed(42)

df_comparison = pd.DataFrame({'x1': np.arange(20), 'x2': np.arange(20)}) #just for example purposes, actual data will be more interesting
df_signal_1 = pd.DataFrame({'x1': np.arange(20), 'data_1': np.random.random(20)})
df_signal_2 = pd.DataFrame({'x2': np.arange(20), 'data_2': np.random.random(20)})

comparison = alt.Chart(df_comparison, title='Comparison').mark_point(filled=True).encode(
    alt.X('x1'),
    alt.Y('x2')
).interactive()

signal_1 = alt.Chart(df_signal_1,title='Signal 1').mark_line().encode(
    alt.X('x1'),
    alt.Y('data_1'),
)

signal_2 = alt.Chart(df_signal_2, title='Signal 2').mark_line().encode(
    alt.X('x2'),
    alt.Y('data_2'),
)

(signal_1 & (comparison | signal_2).resolve_scale(x='shared')).resolve_scale(x='shared')

Altairチャート

比較チャートをズームすると、その「x1」軸が信号1の「x1」軸にリンクされていることがわかります。これは問題ありません。ただし、信号2の「x2」軸にもリンクされているため、適切ではありません。「x1」軸間のリンクを解除せずに、比較チャートとシグナル2チャートの「x2」軸をリンクするにはどうすればよいですか?

jakevdp

これを行うには、インタラクションを手動で作成してから、ドメインを選択範囲のエンコーディングにリンクします。このようなもの:

x12_zoom = alt.selection_interval(encodings=['x', 'y'], bind='scales')

comparison = alt.Chart(df_comparison, title='Comparison').mark_point(filled=True).encode(
    alt.X('x1'),
    alt.Y('x2'),
).add_selection(x12_zoom)

signal_1 = alt.Chart(df_signal_1,title='Signal 1').mark_line().encode(
    alt.X('x1', scale=alt.Scale(domain={'selection': x12_zoom.name, 'encoding': 'x'})),
    alt.Y('data_1'),
)

signal_2 = alt.Chart(df_signal_2, title='Signal 2').mark_line().encode(
    alt.X('x2', scale=alt.Scale(domain={'selection': x12_zoom.name, 'encoding': 'y'})),
    alt.Y('data_2'),
)

(signal_1 & (comparison | signal_2))

ここに画像の説明を入力してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Altairの科学的記数法に軸をスケーリングします

分類Dev

Altairチャートでy軸バンドをプロットする方法は?

分類Dev

Altair:Log10軸を目的の間隔(ドメイン)にトリミングします

分類Dev

Altair:Log10軸を目的の間隔(ドメイン)にトリミングします

分類Dev

altairに異なるスケール(y軸に平行)の新しい軸を追加する方法

分類Dev

AltairレイヤーチャートのY軸が同じスケールに解決されない

分類Dev

Altair:軸をソートしない

分類Dev

Altair / Vegaの壊れた軸

分類Dev

インタラクティブプロットを使用して、Altairの1つの軸のみをスケーリングします

分類Dev

Altair:フィールドを使用してY軸のドメインを指定しますか?

分類Dev

Python Altairを使用してx軸とy軸の交点を0から1にシフトするにはどうすればよいですか?

分類Dev

Altairで上軸を非表示

分類Dev

X軸Altair上で垂直棒グラフを反転します

分類Dev

Y軸ドメインをリセットするmark_area(Altair)

分類Dev

Y軸ドメインをリセットするmark_area(Altair)

分類Dev

altairを使用した定量的x軸のスタック面グラフ

分類Dev

Altair Hconcat-同じHConCat内のチャートに異なる軸を構成することは可能ですか?

分類Dev

Altair-x = yのプロットに線を引きます

分類Dev

Altairに特定の軸でヒートマップ(rect)を注文させる方法は?

分類Dev

Altairファセットチャートは個々の画像を保存します

分類Dev

Altair棒グラフの軸を整数として設定

分類Dev

Altairはレイヤードチャートに選択を追加します

分類Dev

Altairチャートに閉じたポリゴンを描画する方法

分類Dev

最上層のチャートマークは、Altairの下位層のチャートマークを完全にカバーできますか?

分類Dev

altairの複数の選択

分類Dev

Altairでy軸の小さなダッシュを削除するにはどうすればよいですか?

分類Dev

Altairチャートのすぐ上の動的テキスト

分類Dev

Vaexを使用したAltair

分類Dev

PythonのAltairチャート:「HConcatChart」のカウンパウンドチャートの境界線を削除する方法

Related 関連記事

  1. 1

    Altairの科学的記数法に軸をスケーリングします

  2. 2

    Altairチャートでy軸バンドをプロットする方法は?

  3. 3

    Altair:Log10軸を目的の間隔(ドメイン)にトリミングします

  4. 4

    Altair:Log10軸を目的の間隔(ドメイン)にトリミングします

  5. 5

    altairに異なるスケール(y軸に平行)の新しい軸を追加する方法

  6. 6

    AltairレイヤーチャートのY軸が同じスケールに解決されない

  7. 7

    Altair:軸をソートしない

  8. 8

    Altair / Vegaの壊れた軸

  9. 9

    インタラクティブプロットを使用して、Altairの1つの軸のみをスケーリングします

  10. 10

    Altair:フィールドを使用してY軸のドメインを指定しますか?

  11. 11

    Python Altairを使用してx軸とy軸の交点を0から1にシフトするにはどうすればよいですか?

  12. 12

    Altairで上軸を非表示

  13. 13

    X軸Altair上で垂直棒グラフを反転します

  14. 14

    Y軸ドメインをリセットするmark_area(Altair)

  15. 15

    Y軸ドメインをリセットするmark_area(Altair)

  16. 16

    altairを使用した定量的x軸のスタック面グラフ

  17. 17

    Altair Hconcat-同じHConCat内のチャートに異なる軸を構成することは可能ですか?

  18. 18

    Altair-x = yのプロットに線を引きます

  19. 19

    Altairに特定の軸でヒートマップ(rect)を注文させる方法は?

  20. 20

    Altairファセットチャートは個々の画像を保存します

  21. 21

    Altair棒グラフの軸を整数として設定

  22. 22

    Altairはレイヤードチャートに選択を追加します

  23. 23

    Altairチャートに閉じたポリゴンを描画する方法

  24. 24

    最上層のチャートマークは、Altairの下位層のチャートマークを完全にカバーできますか?

  25. 25

    altairの複数の選択

  26. 26

    Altairでy軸の小さなダッシュを削除するにはどうすればよいですか?

  27. 27

    Altairチャートのすぐ上の動的テキスト

  28. 28

    Vaexを使用したAltair

  29. 29

    PythonのAltairチャート:「HConcatChart」のカウンパウンドチャートの境界線を削除する方法

ホットタグ

アーカイブ