Altairの共有セレクター/フィルターを使用して、2つのデータフレームを異なるグラフにプロットします

w00dy

2つのパンダデータフレームがdataありdata_queue、同じ構造で同様のデータが含まれています。前者は線としてプロットされ、後者は散布図としてプロットされます。両方のチャートでフィルタリングするには、共有セレクターが必要です。以下の例では、セレクターは、を削除しscatter場合にのみ機能します。

Altairでそれを達成する方法は?

注:layer折れ線グラフにツールチップ、ルール、テキストなどを追加するには、最後必要です。読みやすくするために、ここではその部分を省略しました。

input_dropdown = alt.binding_select(options=data.koplus_name.unique().tolist())
selection = alt.selection_single(fields=['koplus_name'], bind=input_dropdown, name='Koplus', init={'koplus_name': input_dropdown.options[0]})


line = alt.Chart(data).mark_line().encode(
    x=alt.X('yearmonthdatehoursminutes(timestamp)', title='timestamp', scale=alt.Scale(domain=(str(data.timestamp.min()), str(data.timestamp.min() + pd.Timedelta(value=1, unit='D'))))),
    y=alt.Y('value', axis=alt.Axis(title=''), scale=alt.Scale(domain=(0, data.value.max()))),
    color=alt.Color('variable', legend=alt.Legend(title=None)),
)

scatter = alt.Chart(data_queue).mark_point().encode(
    x='green time',
    y='value',
)

chart = line + scatter

layer = alt.layer(
    chart
).add_selection(
    selection
).transform_filter(
    selection
).properties(
    width=800, height=250
).interactive(bind_y=False)

乱雑なプロット

jakevdp

データが同じ選択に応答するようにする場合は、同じデータソースの一部である必要があります。グラフを作成する前にパンダのデータセットを結合するか、Altair文法内のルックアップ変換を使用してデータセットを結合することができます

いくつかの小さなデータセットを使用した2番目のアプローチの例を次に示します。

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

df1 = pd.DataFrame({
    'x': np.arange(100),
    'y': np.random.randn(100).cumsum()
})

df2 = pd.DataFrame({
    'x': np.arange(100),
    'z': np.random.randn(100).cumsum()
})

selection = alt.selection_interval(encodings=['x'])

base = alt.Chart(df1).transform_lookup(
  lookup='x',
  from_=alt.LookupData(data=df2, key='x', fields=['z'])
).mark_point(color='steelblue').encode(
  x='x:Q',
  color=alt.condition(selection, alt.value('steelblue'), alt.value('lightgray'))
)

alt.layer(
  base.encode(y='y:Q'),
  base.encode(y='z:Q')
).add_selection(
  selection
)

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

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

異なるグラフを使用して、2つのデータフレームのデータを1つのプロットに結合します

分類Dev

2つの異なるデータフレームを使用して、積み上げ面積プロットにラインプロットを課します

分類Dev

ループを使用して、2つのデータフレームをマージし、グループごとにサブセット化します

分類Dev

2つの異なるデータフレームを使用して直接ラベルで等高線をプロットする方法

分類Dev

ルックアップデータフレームを使用して、プログラムでデータフレーム列の名前を変更します

分類Dev

共有「x」を使用してデータフレームの複数の列をプロットします

分類Dev

散布図として、1つのプロットに異なるデータフレームの異なる列をプロットします

分類Dev

すべての行を異なるグラフにプロットする-データフレーム

分類Dev

ループ関数を使用して、データフレームをデータフレームのリストにフィルタリングします

分類Dev

2つの異なる列を使用して、他のデータフレームに存在する行をドロップします

分類Dev

R:1つのデータフレーム内の値のセットをループして、2番目のデータフレームを更新します

分類Dev

LINQを使用して2つのフィールドにデータセットをグループ化する

分類Dev

新しいデータフレームを作成せずに、Rのggplot2を使用して、異なるデータフレームからの2つの系列を互いにプロットするにはどうすればよいですか?

分類Dev

異なる色を使用する1つの列を除いて、デフォルトのカラーマップを使用してデータフレームの列をプロットします

分類Dev

Pandasデータフレーム内の異なる長さのプレフィックスと一貫性のない区切り文字を持つ列値からの共通のプレフィックスによってデータをグループ化して合計します

分類Dev

2つの同一のデータフレームの列をループしてプロットします

分類Dev

ggplot2でforループを使用して、データフレーム内に複数のグラフをプロットする

分類Dev

Rのデータフレームのリストを使用してグラフをプロットする方法

分類Dev

Rのデータフレームのリストを使用してグラフをプロットする方法

分類Dev

異なる色のggplotを使用して複数のデータフレームをプロットする

分類Dev

変数をフィルタリングして、異なる次元で2つのデータフレームを接続します

分類Dev

R:forループを使用して、長さが異なる2つのデータフレームにわたって複数のif条件を実行します

分類Dev

ループして、異なるディレクトリの複数のファイルを使用してプログラムを実行します

分類Dev

pythonまたはpandasqlを使用して、形状が異なり、forループ内にある2つのパンダデータフレームを追加します

分類Dev

データフレームの異なる列を使用して、1つのプロットに複数のグラフをプロットするにはどうすればよいですか?

分類Dev

dplyrを使用してRに2つのデータフレームを持つルールに従って行をフィルタリングしますか?

分類Dev

Rのデータフレームの行ごとに異なる線をプロットします

分類Dev

マルチインデックス Pandas データフレームから 3 つの異なるグラフをプロットする

分類Dev

ループを使用してデータフレームを他の複数のデータフレームにサブセット化する

Related 関連記事

  1. 1

    異なるグラフを使用して、2つのデータフレームのデータを1つのプロットに結合します

  2. 2

    2つの異なるデータフレームを使用して、積み上げ面積プロットにラインプロットを課します

  3. 3

    ループを使用して、2つのデータフレームをマージし、グループごとにサブセット化します

  4. 4

    2つの異なるデータフレームを使用して直接ラベルで等高線をプロットする方法

  5. 5

    ルックアップデータフレームを使用して、プログラムでデータフレーム列の名前を変更します

  6. 6

    共有「x」を使用してデータフレームの複数の列をプロットします

  7. 7

    散布図として、1つのプロットに異なるデータフレームの異なる列をプロットします

  8. 8

    すべての行を異なるグラフにプロットする-データフレーム

  9. 9

    ループ関数を使用して、データフレームをデータフレームのリストにフィルタリングします

  10. 10

    2つの異なる列を使用して、他のデータフレームに存在する行をドロップします

  11. 11

    R:1つのデータフレーム内の値のセットをループして、2番目のデータフレームを更新します

  12. 12

    LINQを使用して2つのフィールドにデータセットをグループ化する

  13. 13

    新しいデータフレームを作成せずに、Rのggplot2を使用して、異なるデータフレームからの2つの系列を互いにプロットするにはどうすればよいですか?

  14. 14

    異なる色を使用する1つの列を除いて、デフォルトのカラーマップを使用してデータフレームの列をプロットします

  15. 15

    Pandasデータフレーム内の異なる長さのプレフィックスと一貫性のない区切り文字を持つ列値からの共通のプレフィックスによってデータをグループ化して合計します

  16. 16

    2つの同一のデータフレームの列をループしてプロットします

  17. 17

    ggplot2でforループを使用して、データフレーム内に複数のグラフをプロットする

  18. 18

    Rのデータフレームのリストを使用してグラフをプロットする方法

  19. 19

    Rのデータフレームのリストを使用してグラフをプロットする方法

  20. 20

    異なる色のggplotを使用して複数のデータフレームをプロットする

  21. 21

    変数をフィルタリングして、異なる次元で2つのデータフレームを接続します

  22. 22

    R:forループを使用して、長さが異なる2つのデータフレームにわたって複数のif条件を実行します

  23. 23

    ループして、異なるディレクトリの複数のファイルを使用してプログラムを実行します

  24. 24

    pythonまたはpandasqlを使用して、形状が異なり、forループ内にある2つのパンダデータフレームを追加します

  25. 25

    データフレームの異なる列を使用して、1つのプロットに複数のグラフをプロットするにはどうすればよいですか?

  26. 26

    dplyrを使用してRに2つのデータフレームを持つルールに従って行をフィルタリングしますか?

  27. 27

    Rのデータフレームの行ごとに異なる線をプロットします

  28. 28

    マルチインデックス Pandas データフレームから 3 つの異なるグラフをプロットする

  29. 29

    ループを使用してデータフレームを他の複数のデータフレームにサブセット化する

ホットタグ

アーカイブ