为使图表的外观类似于Altair文档中提供的Simple Stacked Area Chart,我尝试制作分层的图表 区域图,为每个组成图的数据编码不同的颜色。
以下是用于生成图表的pandas数据框的摘要:
df.head():
date currently_active total_recovered total_cases
0 2020-01-27 1 0 1
1 2020-01-28 1 0 1
2 2020-01-29 1 0 1
3 2020-01-30 1 0 1
4 2020-01-31 1 0 1
df.dtypes:
date datetime64[ns]
currently_active int64
total_recovered int64
total_cases int64
dtype: object
这是我用来绘制分层面积图的代码:
area = alt.Chart(df).configure_area(color='blue').mark_area(opacity=0.5).encode(
x='monthdate(date):T',
y='total_cases:Q'
)
area2 = alt.Chart(df).configure_area(color='red').mark_area(opacity=0.5).encode(
x='monthdate(date):T',
y='currently_active:Q'
)
area + area2
以上返回此:
'ValueError: Objects with "config" attribute cannot be used within LayerChart. Consider defining the config attribute in the LayerChart object instead.'
谢谢!请让我知道如何进一步澄清该问题。
答案 0 :(得分:0)
您不能在要分层的图中使用 configure
属性。您需要在最终分层图上设置配置,但在您的情况下,您希望对每个图表应用不同的颜色,这可以通过在 color
中使用 mark_area
更容易实现,如下:
area = alt.Chart(df).mark_area(opacity=0.5, color='blue').encode(
x='monthdate(date):T',
y='total_cases:Q'
)
area2 = alt.Chart(df).mark_area(opacity=0.5, color='red').encode(
x='monthdate(date):T',
y='currently_active:Q'
)
area + area2