【问题标题】:Altair: Regression over a scatter plot coloured with a continuous scaleAltair:在具有连续刻度的散点图上进行回归
【发布时间】:2021-06-24 16:56:45
【问题描述】:

我正在尝试使用 Altair 显示一个散点图,其中标记颜色由非分类特征(连续)给出,并在其上添加回归线。不过,我对 Altair 还是很陌生。

首先,here's a sample of the data I'm inputting into Altair

So far I can create either the colouring without a regression:

问题是回归线没有显示出来。这是通过以下代码实现的:

chart = alt.Chart(df).mark_circle(size=60).encode(
   x='Lambda',
   y='ACR',
   color='Consensus',
   tooltip=["Tolerance Prevalence", "Consensus", "ACR", "Lambda"]
)

chart.interactive() + chart.transform_regression(
   'Lambda', 'ACR', method="quad"
).mark_line(color="red")

Or a regression without the desired colour scale. 我可以通过简单地删除第一条指令中的“color='consensus'”行来做到这一点。

我尝试过改变回归方法,甚至不同的特征组合都无济于事。 是否有任何参数或 Altair 函数可以用来轻松解决此问题?

提前致谢!

编辑 1

完整代码:

import altair as alt
import pandas as pd
import numpy as np

df = read_csv("processed.txt")

chart = alt.Chart(df).mark_circle(size=60).encode(
    x='Lambda',
    y='ACR',
    color='Consensus',
    tooltip=["Tolerance Prevalence", "Consensus", "ACR", "Lambda"]
)

chart.interactive() + chart.transform_regression(
    'Lambda', 'ACR', method="quad").mark_line(color="red")

chart

Full Data (processed.txt)

【问题讨论】:

  • 您能否将数据作为文本和完整的代码包含在内以重现您的问题?它会加快其他人帮助您回答问题的速度。
  • 嗨!添加了完整的代码。数据是一个大集合 (99374, 36),目前处于泡菜状态。我应该如何进行上传?
  • 请忽略我之前的问题。我附上了相关数据集的 .csv 链接并简化了相关代码。
  • 谢谢!请注意,Stack Overflow 仅在您发表评论时向帖子作者发出通知,因此您需要使用 @ 提及其他评论用户,以便他们收到您的评论通知。

标签: python regression data-visualization scatter-plot altair


【解决方案1】:

您可以定义一个没有着色的基本图表,然后从中构建散点和回归线:

import altair as alt
import pandas as pd
import numpy as np


df = pd.read_csv("Downloads/processed.txt", sep=' ')

base = alt.Chart(df).mark_circle(size=60).encode(
    x='Lambda',
    y='ACR',
)

scatter = base.encode(
    color='Consensus',
    tooltip=["Tolerance Prevalence", "Consensus", "ACR", "Lambda"]
)

line = base.mark_line(color="red").transform_regression(
    'Lambda', 'ACR', method="quad")

scatter + line

【讨论】:

  • 不客气@HenriqueCFonseca!如果问题解决了,请不要忘记用左侧的绿色复选标记将问题标记为已解决。
猜你喜欢
  • 2019-03-26
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 2021-02-24
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多