Altair提供了一种方便的功能,使用facet方法来分面图表。例如,以下数据集可视化效果很好:
print(df[['Year', 'Profile', 'Saison', 'Pos']].to_csv())
,Year,Profile,Saison,Pos
0,2017,6.0,Sommer,VL
1,2017,6.0,Winter,VL
13,2017,6.0,Winter,HL
12,2017,6.0,Sommer,HL
18,2017,6.0,Sommer,HR
6,2017,6.0,Sommer,VR
7,2017,6.0,Winter,VR
19,2017,6.0,Winter,HR
14,2018,5.5,Winter,HL
8,2018,5.5,Winter,VR
15,2018,5.5,Sommer,HL
20,2018,4.3,Winter,HR
21,2018,5.0,Sommer,HR
3,2018,5.5,Sommer,VL
2,2018,6.2,Winter,VL
9,2018,4.5,Sommer,VR
17,2019,4.5,Sommer,HL
11,2019,4.2,Sommer,VR
22,2019,3.5,Winter,HR
10,2019,5.28,Winter,VR
5,2019,4.6,Sommer,VL
4,2019,4.9,Winter,VL
16,2019,4.0,Winter,HL
23,2019,4.5,Sommer,HR
使用以下命令:
alt.Chart(df).mark_bar().encode(x='Year:O', y='Profile:Q').facet(row='Saison:N', column='Pos:N')
但是,正如你所看到的,我仍然有很多水平的空间,并希望通过重新排列冬季情节,将其直接放在夏季情节旁边:
我知道我已经使用了列网格来在属性Pos
上进行分面,但对我来说,视觉上冬季和夏季情节就像两个单独的情节(就像这里一样),我想将它们并排放置。
我尝试在同一个单元格中创建两个不同的图表,并使用html将它们并排发出,但在Jupyter环境中,每个单元格只能有一个Altair/Vega图。
是否有任何方法可以使这些图表横向排列?