与一维或刻度图共享交互式尺度
shared interactive scales with 1D or tick plot
当绘图是一维的或有刻度线时,域被强制包含到原点。当我将此图与另一个 2D/非刻度图组合时,共享的交互式比例不起作用。
domain = alt.selection_interval(bind="scales", encodings=["x", "y"])
chart_1d =\
( alt.Chart(d1d)
. mark_tick()
. encode(x="values")
. add_selection(domain)
)
chart_2d =\
( alt.Chart(d2d)
. mark_line()
. encode(x="x", y="y")
. add_selection(domain)
)
chart = alt.vconcat(chart_1d, chart_2d)
我愿意:
- 一维图表的域使用二维图表的域,无论它是什么。
- 要共享的 x 轴平移和缩放。
- 仅对一维图表禁用在 y 轴上的平移。
实现这一点的一个简单方法是对两个 x 轴使用相同的字段名称:
import altair as alt
import pandas as pd
d1d = pd.DataFrame({'x': [1, 2, 3, 4]})
d2d = pd.DataFrame({'x': [1, 2, 3, 4], 'y': [2, 3, 2, 3]})
domain = alt.selection_interval(bind="scales", encodings=["x", "y"])
chart_1d =\
( alt.Chart(d1d)
. mark_tick()
. encode(alt.X("x", title='values'))
. add_selection(domain)
)
chart_2d =\
( alt.Chart(d2d)
. mark_line()
. encode(x="x", y="y")
. add_selection(domain)
)
chart = alt.vconcat(chart_1d, chart_2d)
当绘图是一维的或有刻度线时,域被强制包含到原点。当我将此图与另一个 2D/非刻度图组合时,共享的交互式比例不起作用。
domain = alt.selection_interval(bind="scales", encodings=["x", "y"])
chart_1d =\
( alt.Chart(d1d)
. mark_tick()
. encode(x="values")
. add_selection(domain)
)
chart_2d =\
( alt.Chart(d2d)
. mark_line()
. encode(x="x", y="y")
. add_selection(domain)
)
chart = alt.vconcat(chart_1d, chart_2d)
我愿意:
- 一维图表的域使用二维图表的域,无论它是什么。
- 要共享的 x 轴平移和缩放。
- 仅对一维图表禁用在 y 轴上的平移。
实现这一点的一个简单方法是对两个 x 轴使用相同的字段名称:
import altair as alt
import pandas as pd
d1d = pd.DataFrame({'x': [1, 2, 3, 4]})
d2d = pd.DataFrame({'x': [1, 2, 3, 4], 'y': [2, 3, 2, 3]})
domain = alt.selection_interval(bind="scales", encodings=["x", "y"])
chart_1d =\
( alt.Chart(d1d)
. mark_tick()
. encode(alt.X("x", title='values'))
. add_selection(domain)
)
chart_2d =\
( alt.Chart(d2d)
. mark_line()
. encode(x="x", y="y")
. add_selection(domain)
)
chart = alt.vconcat(chart_1d, chart_2d)