我正在使用 Altair 创建一个包含多条线的图表,每条线都有多个波段(代表不同的 CI),我正在努力理解如何添加图例。例如,在这个相当简单的例子中:
import altair as alt
import pandas as pd
df = pd.DataFrame(data={'col1': [1, 2,4,5,6], 'col2': [3, 4,7,4,4], 'col3': [1.5, 2.6,4.6,5.6,6.6], 'col4': [3.6, 4.6,7.6,4.6,4.4],'col5': [1.9, 2.9,4.9,5.9,6.9], 'col4': [3.9, 4.9,7.9,4.9,4.9]})
line = alt.Chart(df).mark_line(color='purple').encode(
x=alt.X('col1', title='Day'),
y=alt.Y('col2', title='Column 2')
)
band_90 = alt.Chart(df).mark_area(opacity=0.3, color='purple').encode(
x=alt.X('col1', title='Day'),
y='col3',
y2='col4',
)
band_50 = alt.Chart(df).mark_area(opacity=0.2, color='purple').encode(
x=alt.X('col1', title='Day'),
y='col4',
y2='col5',
)
alt.layer(
line+band_90+band_50
).save('chart.html')
如何为线条和乐队添加图例?我知道通常的方法是通过大小和颜色,但我使用的数据源和数据让我想尽可能这样做?
(请注意 - 乐队确实看起来很傻,这完全是假数据)