标签: trendline

如何在python matplotlib点(散点)图中添加趋势线?

如何将trendline添加到使用matplotlib.scatter绘制的点图中?

python scatter trendline

49
推荐指数
1
解决办法
7万
查看次数

如何在R中添加不同的趋势线?

我知道如何使用lmabline函数添加线性趋势线,但如何添加其他趋势线,如对数线,指数线和功率趋势线?

r trendline

22
推荐指数
2
解决办法
7万
查看次数

将简单的lm趋势线添加到ggplot boxplot

使用标准R图形将线性模型趋势线添加到箱线图时,我使用:

boxplot(iris[,2]~iris[,1],col="LightBlue",main="Quartile1 (Rare)")
modelQ1<-lm(iris[,2]~iris[,1])
abline(modelQ1,lwd=2)
Run Code Online (Sandbox Code Playgroud)

但是,在ggplot2中使用它时:

a <- ggplot(iris,aes(factor(iris[,1]),iris[,2]))
a + geom_boxplot() +
geom_smooth(method = "lm", se=FALSE, color="black", formula=iris[,2]~iris[,1])
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

geom_smooth: Only one unique x value each group.Maybe you want aes(group = 1)?
Run Code Online (Sandbox Code Playgroud)

这条线没有出现在我的情节中.

这两种情况中使用的模型是相同的.如果有人能指出我哪里出错了,那就太好了.

编辑:使用虹膜数据集作为示例.

r ggplot2 boxplot trendline

17
推荐指数
1
解决办法
3万
查看次数

使用ggplot绘制趋势线

我使用ggplot2根据我的数据绘制趋势线.

以下是我使用电子表格完成的工作.

但我只想显示趋势线(上图中显示的黑线)而不是所有点,因为观察次数> 20,000.

所以我尝试使用ggplot2做同样的事情.

fig_a <- ggplot(df1, aes(data_x, data_y ))
fig_a + stat_smooth(method=lm)
fig_a + stat_smooth(method=gam)
Run Code Online (Sandbox Code Playgroud)

显然它不能很好地运行,任何人都可以提供帮助?

为什么它提供如此多的线而不是单个趋势线?

r ggplot2 trendline

12
推荐指数
1
解决办法
5万
查看次数

Python - 计算有错误的趋势线

所以我将一些数据存储为两个列表,并使用它们绘制它们

plot(datasetx, datasety)
Run Code Online (Sandbox Code Playgroud)

然后我设置了趋势线

trend = polyfit(datasetx, datasety)
trendx = []
trendy = []

for a in range(datasetx[0], (datasetx[-1]+1)):
    trendx.append(a)
    trendy.append(trend[0]*a**2 + trend[1]*a + trend[2])

plot(trendx, trendy)
Run Code Online (Sandbox Code Playgroud)

但我有第三个数据列表,这是原始数据集中的错误.我很好地绘制了错误栏,但我不知道是使用这个,如何在多项式趋势线的系数中找到错误.

所以说我的趋势线是5x ^ 2 + 3x + 4 = y,需要在5,3和4值上出现某种错误.

是否有使用NumPy的工具可以为我计算?

python numpy trendline

10
推荐指数
2
解决办法
1万
查看次数

在ggplot2中添加加权最小二乘趋势线

我正在使用ggplot2准备一个情节,我想添加一个基于加权最小二乘估计的趋势线.

在基础图形中,这可以通过将WLS模型发送到abline:

mod0 <- lm(ds$dMNP~ds$MNP)
mod1 <- lm(ds$dMNP~ds$MNP, weights = ds$Asset)

symbols(ds$dMNP~ds$MNP, circles=ds$r, inches=0.35)
#abline(mod0)
abline(mod1)
Run Code Online (Sandbox Code Playgroud)

在GGPLOT2我设置的参数weightgeom_smooth,但没有改变:

ggplot(ds, aes(x=MNP, y=dMNP, size=Asset) + 
  geom_point(shape=21) +
  geom_smooth(method = "lm", weight="Asset", color="black", show.legend = FALSE)
Run Code Online (Sandbox Code Playgroud)

这给了我同样的情节

ggplot(ds, aes(x=MNP, y=dMNP, size=Asset) + 
  geom_point(shape=21) +
  geom_smooth(method = "lm", color="black", show.legend = FALSE)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 weighted trendline

7
推荐指数
1
解决办法
2537
查看次数

为什么我收到“ValueError:数据类型 &lt;class 'numpy.object_'&gt; 不精确。” 使用polyfit函数时?

我正在尝试为我的数据绘制趋势线。但是,我收到错误

ValueError: data type <class 'numpy.object_'> not inexact.  
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么吗?

我的数据框是 Us_corr3;

在此输入图像描述
这是我的代码:

data5 = Us_corr3[['US GDP', 'US Unemployment']]

x = data5['US GDP']

y = data5['US Unemployment']

plt.scatter(x, y)


z = np.polyfit(x, y, 1)

p = np.poly1d(z)

plt.plot(x,p(x),"r--")

plt.show()
Run Code Online (Sandbox Code Playgroud)

它说;

ValueError: data type <class 'numpy.object_'> not inexact.
Run Code Online (Sandbox Code Playgroud)

numpy matplotlib pandas trendline dtype

7
推荐指数
1
解决办法
2万
查看次数

计算趋势线并预测未来结果

我正在为我正在处理的网站编写一些分析模块,我需要估算当前小时后的总观看次数.我有每分钟的数据直到当前分钟,所以如果时间是12:28,我将有一个看起来像这样的数组:

0: "21410"
1: "21886"
2: "21837"
3: "21895"
4: "21564"
5: "21714"
6: "21571"
7: "21324"
8: "21310"
9: "21390"
10: "21764"
11: "21598"
12: "21493"
13: "21352"
14: "21478"
15: "21058"
16: "20942"
17: "20825"
18: "21321"
19: "20950"
20: "21039"
21: "21117"
22: "20733"
23: "20773"
24: "20929"
25: "20900"
26: "20687"
27: "20999"
Run Code Online (Sandbox Code Playgroud)

目前我正在预测小时的价值如下:

(60/minsSoFar)*totalSoFar
Run Code Online (Sandbox Code Playgroud)

这样做效果相当不错,但我宁愿在数学上做得更多.我想计算出迄今为止我所拥有的数据的最佳拟合线,并计算到第60分钟.这将考虑加速和减速.

通过我目前正在使用的方法,我实际上假设趋势是一条直线.如何计算多项式或幂次数的公式?

我在NodeJS中写这个,所以JavaScript是理想的,但我也会采用伪代码!

如果您需要,这是一个更简单格式的数组:

[21410, 21886, 21837, 21895, 21564, 21714, 21571, 21324, 21310, 21390, 21764, 21598, 21493, 21352, 21478, 21058, 20942, …
Run Code Online (Sandbox Code Playgroud)

javascript math polynomial-math node.js trendline

6
推荐指数
1
解决办法
5088
查看次数

时间序列/信号处理的自动趋势检测

有哪些好的算法可以自动检测时间序列数据的趋势或绘制趋势线(上升趋势、下降趋势、无趋势)?如果您能为我指出任何好的研究论文或 python、R 或 Matlab 库,我将不胜感激。

理想情况下,该算法的输出将有 4 列:

  1. 从时间

  2. 到时间

  3. 趋势(上升/下降/无趋势/未知)
  4. 趋势概率或趋势程度

非常感谢您的参与。

趋势线示例

python signal-processing time-series trendline trend

6
推荐指数
1
解决办法
5037
查看次数

从geom_smooth()中提取多条趋势线的斜率

我试图使用ggplot在一个时间序列中绘制多个趋势线(每十年).

这是数据:

dat <- structure(list(YY = 1961:2010, a = c(98L, 76L, 83L, 89L, 120L, 
107L, 83L, 83L, 92L, 104L, 98L, 91L, 81L, 69L, 86L, 76L, 85L, 
86L, 70L, 81L, 77L, 89L, 60L, 80L, 94L, 66L, 77L, 85L, 77L, 80L, 
79L, 79L, 65L, 70L, 80L, 87L, 84L, 67L, 106L, 129L, 95L, 79L, 
67L, 105L, 118L, 85L, 86L, 103L, 97L, 106L)), .Names = c("YY", 
"a"), row.names = c(NA, -50L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

这是脚本:

p <- ggplot(dat, aes(x = YY))
p <- p …
Run Code Online (Sandbox Code Playgroud)

r time-series ggplot2 trendline

6
推荐指数
1
解决办法
897
查看次数