在 altair 中更改连接图表(两个条形图)中条形的颜色
change color of bars in a concated chart(two bar chart) in altair
我有两个垂直堆叠的条形图。
我使用打击代码来改变它们的颜色。
alt.Color('variable', domain=['a','b','c'],range=['#for_a','#for_b','#for_c']
问题是,当我为其中一个设置颜色时,其他图表消失,或者当为两个设置颜色时(当我为两个设置域和范围时),一个颜色会影响另一个条。怎么解决?
chart_a = alt.Chart(dfA).mark_bar().encode(
alt.X('monthdate(date):O'),
alt.Y('value'),
alt.Color('variable',
scale=alt.Scale(domain=['a','b'],
range=['green','yellow'])
)
chart_b =alt.Chart(dfB).mark_bar().encode(
alt.X('monthdate(date):O'),
alt.Y('value'),
alt.Color('variable',
scale=alt.Scale(domain=['c','d','e','f'],
range=['#ffbb9e','#992e00','#9ecdff','#005799']),
)
)
chart_a & chart_b
默认情况下,Altair 在串联图表之间共享比例。要更改此设置,您可以使用 Scale and Guide Resolution.
中介绍的工具
在你的情况下,听起来你想要独立的色标:
(chart_a & chart_b).resolve_scale(color='independent')
我有两个垂直堆叠的条形图。 我使用打击代码来改变它们的颜色。
alt.Color('variable', domain=['a','b','c'],range=['#for_a','#for_b','#for_c']
问题是,当我为其中一个设置颜色时,其他图表消失,或者当为两个设置颜色时(当我为两个设置域和范围时),一个颜色会影响另一个条。怎么解决?
chart_a = alt.Chart(dfA).mark_bar().encode(
alt.X('monthdate(date):O'),
alt.Y('value'),
alt.Color('variable',
scale=alt.Scale(domain=['a','b'],
range=['green','yellow'])
)
chart_b =alt.Chart(dfB).mark_bar().encode(
alt.X('monthdate(date):O'),
alt.Y('value'),
alt.Color('variable',
scale=alt.Scale(domain=['c','d','e','f'],
range=['#ffbb9e','#992e00','#9ecdff','#005799']),
)
)
chart_a & chart_b
默认情况下,Altair 在串联图表之间共享比例。要更改此设置,您可以使用 Scale and Guide Resolution.
中介绍的工具在你的情况下,听起来你想要独立的色标:
(chart_a & chart_b).resolve_scale(color='independent')