使用Altair通过散点图上的平均值绘制线性回归线

时间:2020-11-12 03:27:38

标签: python pandas matplotlib altair

我是Altair的新手,而matplotlib则是新手。我使用的数据集与2017年赢得锦标赛的PGA和高尔夫球手有关。我过滤了数据,仅包括那些至少赢得过一次胜利的球员。此外,我将球员的获胜次数分组(总共3个分组,最大获胜次数为3)。垂直轴由每个玩家的平均驾驶射击距离组成。

我已经为数据创建了一个散点图,但我想进行可视化,看看是否有正趋势线穿过每组玩家的平均行驶距离。

我知道1、2和3胜的平均值分别是297.8040、305.56和311.85。

我从matplotlib知道,您可以使用线性回归形式y = mx + b定义一条线,然后仅使用plt.plot进行绘制,但是我无法在Altair中找到类似的路线。

下面的当前散点图输出的屏幕抓取

alt.Chart(source).mark_circle(size=250).encode(
    x=alt.X('Number of Wins', scale=Scale(domain=[1, 3], zero=False, padding=1, clamp=True)),
    y=alt.Y('Avg Driving Distance', scale=Scale(domain=[280, 325], zero=False, padding=50, clamp=True),  title="Average Driving Distance"),
    color='Player',
    opacity=alt.value(90)

).properties(
    width=700,
    height=700
    
).interactive()

Current scatter plot below

1 个答案:

答案 0 :(得分:1)

进一步研究altair文档后,我发现了一个与拟合线性回归线有关的页面,而帮助我的代码是 chart + chart.transform_regression('x', 'y').mark_line()

我不知道altair允许您仅使用+