我试图找到一种方法来添加标签到binding_select
altair / vega-lite中。目前,自定义select ui元素中显示的值的唯一方法似乎是更改列的名称。这适用于常规值,但是如何更改“无”值的标签以清除选择呢?我试图这样做是为了使图表可以公开使用。在选择ui中使用“ null”值时,可能会造成混淆。
region_dropdown = alt.binding_select(
options = [None, 'CHN', 'IND', 'RUS', 'USA', 'AFR', 'LAM', 'EUR']
)
region_selection = alt.selection_single(
fields=['region'],
bind=region_dropdown,
init={'region': 'USA'}
)
alt.Chart(data).transform_calculate(
per_capita='datum.cum_co2/datum.cum_population'
).encode(
x='year',
y=alt.Y('mean(per_capita):Q'),
color=alt.condition(region_selection, 'region:N', alt.value('rgba(0,0,0,0.05)')),
detail='region:N'
).mark_line().add_selection(region_selection)
您可以使用中的labels
选项binding_select
来重命名选择标签:
region_dropdown = alt.binding_select(
options = [None, 'CHN', 'IND', 'RUS', 'USA', 'AFR', 'LAM', 'EUR'],
labels = ['All', 'CHN', 'IND', 'RUS', 'USA', 'AFR', 'LAM', 'EUR']
)
例:
import altair as alt
import vega_datasets
data = vega_datasets.data.cars()
region_dropdown = alt.binding_select(
options = [None, 'USA', 'Europe', 'Japan'],
labels = ['All', 'USA', 'Europe', 'Japan']
)
region_selection = alt.selection_single(
fields=['Origin'],
bind=region_dropdown,
init={'Origin': 'USA'}
)
alt.Chart(data).encode(
x='Year',
y=alt.Y('mean(Horsepower):Q'),
color=alt.condition(region_selection, 'Origin:N', alt.value('rgba(0,0,0,0.05)')),
detail='Origin:N'
).mark_line().add_selection(region_selection)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句