Python/Plotly: 如何从 LOWESS 线打印 y 趋势值?
Python/Plotly: How to print y-trend values from LOWESS line?
这是我使用 Plotly lib 时 LOWESS Smoothing 片段的样子:
现在,我知道如果我将鼠标悬停在线条上,使用 Plotly 它会为我提供 y 趋势值:
问题:我不知道如何打印出这些趋势值。
我知道有一个函数 px.get_trendline_results(forecast_fig)
但它没有为我打印任何内容...
非常感谢您的帮助!
今天这些值不可用,但它们可能会在未来的版本中可用! get_trendline_result
没有结果的原因是 LOWESS 没有底层模型,它只是一种平均值。
在幕后,Plotly Express 使用 statsmodels
库生成 LOWESS 曲线,因此您现在可以 运行 在 PX 之外进行相同的分析。
如果你想查询图中的实际值,并且你没有映射到 color
或 symbol
那么你可以这样做:
import plotly.express as px
df = px.data.tips()
fig = px.scatter(df, x="total_bill", y="tip", trendline="lowess")
print(fig.data[1].y)
但如果您设置了 color
,那么 fig.data[ <index> ]
中的实际跟踪索引会有所不同,因此这非常脆弱。
这是我使用 Plotly lib 时 LOWESS Smoothing 片段的样子:
现在,我知道如果我将鼠标悬停在线条上,使用 Plotly 它会为我提供 y 趋势值:
问题:我不知道如何打印出这些趋势值。
我知道有一个函数 px.get_trendline_results(forecast_fig)
但它没有为我打印任何内容...
非常感谢您的帮助!
今天这些值不可用,但它们可能会在未来的版本中可用! get_trendline_result
没有结果的原因是 LOWESS 没有底层模型,它只是一种平均值。
在幕后,Plotly Express 使用 statsmodels
库生成 LOWESS 曲线,因此您现在可以 运行 在 PX 之外进行相同的分析。
如果你想查询图中的实际值,并且你没有映射到 color
或 symbol
那么你可以这样做:
import plotly.express as px
df = px.data.tips()
fig = px.scatter(df, x="total_bill", y="tip", trendline="lowess")
print(fig.data[1].y)
但如果您设置了 color
,那么 fig.data[ <index> ]
中的实际跟踪索引会有所不同,因此这非常脆弱。