How to label the line from transform_regression using Altair?(如何使用牛郎星来标注Transform_Regregation中的直线?)
本文介绍了如何使用牛郎星来标注Transform_Regregation中的直线?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面的代码创建了一条回归线;但是,图例默认将该线标记为";未定义。";如何在图例中将此回归线标记为";reg-line";?
import altair as alt
from vega_datasets import data
import pandas as pd
source = data.anscombe().copy()
source['line-label'] = 'x=y'
source = pd.concat([source,source.groupby('Series').agg(x_diff=('X','diff'), y_diff=('Y','diff'))],axis=1)
source['rate'] = source.y_diff/source.x_diff
source['rate-label'] = 'line y=x'
scatter = alt.Chart(source).mark_circle(size=60, opacity=0.60).encode(
x='X:Q',
y='Y:Q',
color='Series:N',
tooltip=['X','Y','rate']
)
scatter = scatter + scatter.transform_regression('X', 'Y').mark_line(opacity=0.50, shape='mark')
chart = scatter.facet(
columns=2
, facet=alt.Facet('Series',header=alt.Header(labelFontSize=25))
).resolve_scale(
x='independent',
y='independent'
)
chart.display()
推荐答案
只需在标记行后添加.transform_fold(["reg-line"], as_=["Regression", "y"]).encode(alt.Color("Regression:N"))
代码应如下所示
import altair as alt
from vega_datasets import data
import pandas as pd
source = data.anscombe().copy()
source['line-label'] = 'x=y'
source = pd.concat([source,source.groupby('Series').agg(x_diff=('X','diff'), y_diff=('Y','diff'))],axis=1)
source['rate'] = source.y_diff/source.x_diff
source['rate-label'] = 'line y=x'
scatter = alt.Chart(source).mark_circle(size=60, opacity=0.60).encode(
x='X:Q',
y='Y:Q',
color='Series:N',
tooltip=['X','Y','rate']
)
scatter = scatter + scatter.transform_regression('X', 'Y').mark_line(
opacity=0.50,
shape='mark'
).transform_fold(
["reg-line"],
as_=["Regression", "y"]
).encode(alt.Color("Regression:N"))
chart = scatter.facet(
columns=2
, facet=alt.Facet('Series',header=alt.Header(labelFontSize=25))
).resolve_scale(
x='independent',
y='independent'
)
chart.display()
这篇关于如何使用牛郎星来标注Transform_Regregation中的直线?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:如何使用牛郎星来标注Transform_Regregation中的直线?
基础教程推荐
猜你喜欢
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
