Python - Altair - 带选择的堆积条形图
Python - Altair - Stacked Bar Chart With Selection
我已经关注并复制了我的数据集两个教程,链接如下
Stacked Bar Chart : https://altair-viz.github.io/gallery/stacked_bar_chart.html
和
Selectable Data : https://altair-viz.github.io/gallery/interactive_cross_highlight.html
不过,我很难理解 Altair 是否能够将这两者结合起来。
是否可以制作堆叠条形图,其中每个 "subsection" 图都可以 select。所以,如果我有类似
的数据
Category1, Category2
以条为单位,每条可以有小节
Sub1, Sub2
我有一个堆叠条形图,其中与 Sub1 相关的 Categroy1/Category2 部分是蓝色,与 Sub2 相关的部分是橙色,我可以 select 4 个中的任何一个部分(Cat1+Sub1、Cat1+Sub2、Cat2+Sub1、Cat2+Sub2,表示为 2 个堆叠条)然后该部分变为红色。
这是否可能或超出范围,如果可能,我在概念上缺少什么?
是的,这是可能的。您可以在选择器中指定您希望它响应的编码;要响应堆积条的各个部分,请指定 x
和 color
.
这是一个例子:
import altair as alt
from vega_datasets import data
source = data.barley()
selector = alt.selection_single(encodings=['x', 'color'])
alt.Chart(source).mark_bar().encode(
x='variety',
y='sum(yield)',
color=alt.condition(selector, 'site', alt.value('lightgray'))
).add_selection(
selector
)
click here 在 vega 编辑器中实时试用。
我已经关注并复制了我的数据集两个教程,链接如下
Stacked Bar Chart : https://altair-viz.github.io/gallery/stacked_bar_chart.html
和
Selectable Data : https://altair-viz.github.io/gallery/interactive_cross_highlight.html
不过,我很难理解 Altair 是否能够将这两者结合起来。
是否可以制作堆叠条形图,其中每个 "subsection" 图都可以 select。所以,如果我有类似
的数据Category1, Category2
以条为单位,每条可以有小节
Sub1, Sub2
我有一个堆叠条形图,其中与 Sub1 相关的 Categroy1/Category2 部分是蓝色,与 Sub2 相关的部分是橙色,我可以 select 4 个中的任何一个部分(Cat1+Sub1、Cat1+Sub2、Cat2+Sub1、Cat2+Sub2,表示为 2 个堆叠条)然后该部分变为红色。
这是否可能或超出范围,如果可能,我在概念上缺少什么?
是的,这是可能的。您可以在选择器中指定您希望它响应的编码;要响应堆积条的各个部分,请指定 x
和 color
.
这是一个例子:
import altair as alt
from vega_datasets import data
source = data.barley()
selector = alt.selection_single(encodings=['x', 'color'])
alt.Chart(source).mark_bar().encode(
x='variety',
y='sum(yield)',
color=alt.condition(selector, 'site', alt.value('lightgray'))
).add_selection(
selector
)
click here 在 vega 编辑器中实时试用。