Python/plotly : How to print y-trend values from LOWESS line?

标签 python regression plotly extract

这是我使用 Plotly lib 时的 LOWESS Smoothing 片段: LOWESS Smoothing line

现在,我知道使用 Plotly,如果我将鼠标悬停在线上,它会为我提供 y 趋势值: enter image description here

问题:我不知道如何打印这些趋势值。

我知道有一个函数 px.get_trendline_results(forecast_fig) 但它没有为我打印任何内容...

use of known function

非常感谢您的帮助!

最佳答案

目前这些值不可用,但可能会在未来版本中出现! get_trendline_result没有任何结果的原因的一点是,LOWESS 没有底层模型,它只是一种平均值。

在幕后,Plotly Express 使用 statsmodels库来生成 LOWESS 曲线,因此您现在可以在 PX 之外运行相同的分析。

以下是 PX 使用的代码:https://github.com/plotly/plotly.py/blob/3ca829c73bd4841666c8b810f5e8457514eb3c99/packages/python/plotly/plotly/express/_core.py#L232

如果您想查询图中的实际值,并且没有任何映射到 colorsymbol那么你可以这样做:

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> ] 中的实际跟踪索引会有所不同,所以这是相当脆弱的。

关于Python/plotly : How to print y-trend values from LOWESS line?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58963970/

相关文章:

python - 以 argmax 作为键对数组/矩阵进行排序是什么意思?

python - 为什么 python 在下载包时给出 fatal error ?

algorithm - 将抛物线拟合到一组点的最快方法?

python - 使用 plotly 在 3d 散点图中绘制 3d 框

r - 使用Plotly在等高线图上叠加线

python - CondaHTTPError : HTTP 000 CONNECTION FAILED for url <https://conda. anaconda.org/plotly/win-64/current_repodata.json>

python - 如何使用pandas实现vlookup交叉引用

python - Pytesseract,试图从屏幕上检测文本

r - R 中随机森林回归模型中的 corr.bias 参数

r - 默认情况下如何通过引导分位数回归来获取置信区间