如何在Altair中创建群集条形图

时间:2018-12-09 21:24:20

标签: python altair

我正在尝试绘制每个月彼此相邻的Activity1和Activity2的简单群集条形图。我无法正常工作。分组条形图是我能找到的最接近的示例,但仍然不能满足我的要求。 我尝试将长格式与melt结合使用,但仍然无法生成群集的条形图。 如果有人可以帮助我找出如何使用Altair进行创建,我将不胜感激。

d = {'Month':[1,2,3,4,5,6], 
     'Act1':[10,20,25,32,45,50],
     'Act2':[20,35,45,55,65,75]}
    df = pd.DataFrame(d)

dfm = pd.melt(df,id_vars=['Month'], value_vars = ['Act1','Act2'], var_name='Activity',value_name='Total')

alt.Chart(dfm).mark_bar().encode(
    x='Month:O',
    y='sum(Total):Q',
    color='Activity:O',
    column='Activity:O'
)

1 个答案:

答案 0 :(得分:1)

如果切换columnx编码,则会得到分组的条形图。要清理它,您也可以删除x编码标签:

alt.Chart(dfm).mark_bar().encode(
    x=alt.X('Activity:O', title=None, axis=None),
    y='sum(Total):Q',
    color='Activity:O',
    column='Month:O',
)

enter image description here