簡體   English   中英

在 Altair 的散點圖中添加 R 值(相關性)

[英]Adding R-value (correlation) to scatter chart in Altair

所以我正在玩 Cars 數據集,並希望將 R 值添加到散點圖中。 因此,我可以使用此代碼生成散點圖,使用transform_regression添加一條很棒的回歸線。

from vega_datasets import data
import altair as alt
import pandas as pd
import numpy as np

cars = data.cars()
chart = alt.Chart(cars).mark_circle().encode(
        alt.X('Miles_per_Gallon', scale=alt.Scale(domain=(5,50))),
        y='Weight_in_lbs'
)

chart + chart.transform_regression('Miles_per_Gallon','Weight_in_lbs').mark_line()

這是圖表

在此處輸入圖像描述

然后我正在尋找 R 值。 所以可以使用 pandas 和這個代碼,因為我不確定如何用 Altair 獲得 R 值。

corl = cars[['Miles_per_Gallon','Weight_in_lbs']].corr().iloc[0,1]
corl

現在我想知道我將如何 go 關於在圖表上添加 R 值作為一種 label?

您可以通過添加文本層來做到這一點:

text = alt.Chart({'values':[{}]}).mark_text(
    align="left", baseline="top"
).encode(
    x=alt.value(5),  # pixels from left
    y=alt.value(5),  # pixels from top
    text=alt.value(f"r: {corl:.3f}"),
)

chart + text + chart.transform_regression('Miles_per_Gallon','Weight_in_lbs').mark_line()

在此處輸入圖像描述

在 Altair 的未來版本中,將不再需要圖表中的空數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM