Python 如何为从Altair提取的rSquared添加前缀?

Python 如何为从Altair提取的rSquared添加前缀?,python,data-visualization,altair,Python,Data Visualization,Altair,我正在使用中概述的方法将rSquared添加到图表中: 但是我想在最后的文本前加上“rSquared=” 我已经看到了一个f字符串和一个在图表之外计算的值,但是我还没有聪明到能够想出如何将这个解决方案应用到这个场景中 我已经尝试过,例如,format='rSquared=.4f',但是添加任何额外的文本都会破坏输出,我确信这是系统正常工作的结果。使用链接到的帖子的一个可能解决方案是使用altair\u transform提取参数值,然后将值添加到绘图中。这不是最优雅的解决方案,但应该可以实现您想

我正在使用中概述的方法将rSquared添加到图表中:

但是我想在最后的文本前加上“rSquared=”

我已经看到了一个f字符串和一个在图表之外计算的值,但是我还没有聪明到能够想出如何将这个解决方案应用到这个场景中


我已经尝试过,例如,
format='rSquared=.4f'
,但是添加任何额外的文本都会破坏输出,我确信这是系统正常工作的结果。

使用链接到的帖子的一个可能解决方案是使用
altair\u transform
提取参数值,然后将值添加到绘图中。这不是最优雅的解决方案,但应该可以实现您想要的

#pip安装git+https://github.com/altair-viz/altair-transform.git
将牵牛星导入为alt
作为pd进口熊猫
将numpy作为np导入
导入altair_变换
np.随机种子(42)
x=np.linspace(0,10)
y=x-5+np.random.randn(len(x))
df=pd.DataFrame({'x':x,'y':y})
chart=alt.chart(df).mark_point().encode(
x='x',
y='y'
)
直线=图表。变换_回归('x','y')。标记_直线()
params=chart.transform\u回归('x','y',params=True)。mark\u line()
R2=altair_变换。提取_数据(参数)['rSquared'][0]
text=alt.Chart({'values':[{}]})(
align=“left”,baseline=“top”
).编码(
x=alt.value(5),#从左到右的像素
y=alt.value(5),#距顶部像素
text=alt.value(f“rSquared={R2:.4f}”),
)
图表+线条+文字

r2 = alt.Chart(df).transform_regression('x', 'y', params=True
).mark_text().encode(x=alt.value(20), y=alt.value(20), text=alt.Text('rSquared:N', format='.4f'))