Python 在Altair图中绘制中值和平均值
如何在Altair中绘制均值和中值,通过颜色编码进行区分 下面是我的第一次尝试,但它不包括传说,似乎不是最优雅的方式Python 在Altair图中绘制中值和平均值,python,data-visualization,altair,Python,Data Visualization,Altair,如何在Altair中绘制均值和中值,通过颜色编码进行区分 下面是我的第一次尝试,但它不包括传说,似乎不是最优雅的方式 import altair as alt from vega_datasets import data source = data.cars() mean = alt.Chart(source).mark_line(color='red', point=True).encode( x='Year', y='mean(Miles_per_Gallon)' )
import altair as alt
from vega_datasets import data
source = data.cars()
mean = alt.Chart(source).mark_line(color='red', point=True).encode(
x='Year',
y='mean(Miles_per_Gallon)'
)
median = alt.Chart(source).mark_line().encode(
x='Year',
y='median(Miles_per_Gallon)'
)
mean+median
这最好是使用计算聚合的,然后是允许在单个编码中使用两列的:
import altair as alt
from vega_datasets import data
source = data.cars()
alt.Chart(source).transform_aggregate(
mean='mean(Miles_per_Gallon)',
median='median(Miles_per_Gallon)',
groupby=['Year']
).transform_fold(
['mean', 'median'],
as_=['aggregate', 'value']
).mark_line().encode(
x='Year',
y='value:Q',
color='aggregate:N',
)