- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用一个如下所示的数据框 df
:
index var1 var2 var3
0 0.0 0.0 0.0
10 43940.7 2218.3 6581.7
100 429215.0 16844.3 51682.7
我想绘制每个变量,绘制它们强制到原点的趋势线,计算并绘制 R2 值。
我在 this post 中找到了我想要的东西但是趋势线没有穿过原点,我找不到让它起作用的方法。
我试图手动修改趋势线第一个点的值,但结果似乎不太好。
for var in df.columns[1:]:
fig, ax = plt.subplots(figsize=(10,7))
x = df.index
y = df[var]
z = numpy.polyfit(x, y, 1)
p = numpy.poly1d(z)
pylab.plot(x,p(x),"r--")
plt.plot(x,y,"+", ms=10, mec="k")
z = np.polyfit(x, y, 1)
y_hat = np.poly1d(z)(x)
y_hat[0] = 0 ###--- Here I tried to replace the first value with 0 but it doesn't seem right to me.
plt.plot(x, y_hat, "r--", lw=1)
text = f"$y={z[0]:0.3f}\;x{z[1]:+0.3f}$\n$R^2 = {r2_score(y,y_hat):0.3f}$"
plt.gca().text(0.05, 0.95, text,transform=plt.gca().transAxes, fontsize=14, verticalalignment='top')
有什么办法吗?任何帮助将不胜感激。
最佳答案
您可以为此使用 Scipy 和 curve_fit。确定您的趋势线为 y=ax,以便它穿过原点。
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def func(x, a):
return a * x
xdata = (0,10,20,30,40)
ydata = (0,12,18,35,38)
popt, pcov = curve_fit(func, xdata, ydata)
plt.scatter(xdata, ydata)
plt.plot(xdata, func(xdata, popt),"r--")
plt.show()
关于python - 如何在绘制 R2 值时使趋势线穿过原点 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64125907/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 4 年前。 Improve
我有一个名为 LOGENTRY 的简单表,其中包含名为“DATE”和“COST”的字段。示例: +--------------+-------+ | DATE | COST | +-
我有一个每小时运行一次的 cron 作业。 cron 作业向表 'update' 添加一条记录 table - 'update' update_id (primary) timestamp 和 将我网
我正在使用 Bokeh 制作趋势图,显示概念的流行程度如何随时间变化。我使用了 brewer 示例 ( https://docs.bokeh.org/en/latest/docs/gallery/st
所以我想做的是制作一个趋势算法,我需要有关 SQL 代码的帮助,因为我无法让它运行。 该算法包含三个方面:(我对更好的趋势算法的想法完全开放) 1.Plays during 24h / Total p
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
开发 Twitter Connect 应用程序并通过 URL 获取趋势: https://api.twitter.com/1.1/trends/closest.json?lat=42&long=36
我对时间序列异常检测非常陌生,所以我的问题对你们中的一些人来说可能是显而易见的。今天,我使用 lstm 和聚类技术来检测时间序列上的异常,但这些方法无法识别随着时间的推移慢慢恶化的异常(我认为这称为趋
我正在寻求[博客]的帮助:http://www.androidhive.info/2012/01/android-json-parsing-tutorial/解析 twitter 趋势 JSON 文件
我有一个网站,人们可以在其中添加他们喜欢的电视节目。 我想要一些趋势统计数据。示例: (1 个不变)生活大爆炸 (上周第 3 次)老爸老妈浪漫史 (上周第 2 个)房子 (上周第 30 位,上涨 40
我有一个带有 DatetimeIndex 和 ohlcv 股票报价列的 pandas Dataframe。我想提取满足特定阈值的价格波动/趋势:大于 0.3 美元的上升趋势/趋势和超过 -0.3 美元
尝试仅访问多伦多趋势的“名称”部分。到目前为止我有这个但是它给我错误: toronto = t.get_place_trends(id=4118) trend_array = [] for trend
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我尝试在我的网络应用程序中实现 Google 趋势。这是我的代码: using (var client = new WebClient()) { var us
我最近将 Junit 和 Emma 集成到 CruiseControl (CC) 中,因此它可以为每个构建创建漂亮的报告。我想根据 Emma 提供的一些信息(例如覆盖率百分比数字和摘要)查看一些趋势图
我正在尝试将谷歌趋势嵌入到我的代码 vuejs 中,但我找不到任何关于如何做到这一点的信息。 我尝试一下: export default { created(){ posts
我对此有点新手...基本上我需要运行一个脚本来从谷歌趋势下载.csv 文件。我按照这个reference写了下面的代码,代码如下: HttpClient client = new Defau
我正在使用非官方 Google Trends API ( https://github.com/GeneralMills/pytrends#trend ) 编写代码,但是在几乎 10 个请求之后,我收
我一直使用破折号作为 css 类和 ID 名称的分隔符: .about-us .car-pricing-guide 我见过网站使用多个下划线 __ .home__content 此外,我还看到了 2
很抱歉提出这个问题,但我已经在这个问题上停留了一段时间。 基本上我正在尝试列出一个列表: numbers=[1, 2, -1, -2, 4, 5] 并将此列表子集化为显示正/负运动(或趋势)的列表列表
我是一名优秀的程序员,十分优秀!