【发布时间】:2020-05-15 20:28:15
【问题描述】:
我想创建一个带有两个下拉菜单的绘图。线条的不透明度应取决于 both 下拉菜单中的选择。
理想情况下,第二个下拉菜单(下面的“dropdown_symbol”)的可能内容应取决于第一个下拉菜单中的选择(当在第一个下拉菜单中选择“category_2”时,仅显示“AMZM”和“IBM”在第二个下拉菜单)。
不幸的是,不透明度既不能正常工作,也不能限制可能的内容。这是我的示例代码:
import altair as alt
from vega_datasets import data
source = data.stocks()
source.symbol.value_counts()
source["category"] = "category_1"
source.loc[source["symbol"].isin(["AMZN", "IBM"]), "category"] = "category_2"
dropdown_category = alt.binding_select(options=list(source["category"].unique()), name=" ")
dropdown_symbol = alt.binding_select(options=list(source["symbol"].unique()), name=" ")
selection_category = alt.selection_single(fields=["category"], bind=dropdown_category)
selection_symbol = alt.selection_single(fields=["symbol"], bind=dropdown_symbol)
chart = alt.Chart(source).mark_line().encode(
x='date',
y='price',
color='symbol',
opacity=alt.condition(
selection_category & selection_symbol,
alt.value(1),
alt.value(0.1)
)).add_selection(selection_symbol, selection_category)
chart
【问题讨论】:
标签: python plot dropdown interactive altair