Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Altair图中绘制中值和平均值_Python_Data Visualization_Altair - Fatal编程技术网

Python 在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)' )

如何在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)'
)

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',
)