我想在我的情节中添加指数(+幂)(趋势)线.我正在使用ggplot2包.
我有这样的东西(只是有更多的数据):
require(ggplot2)
df <-read.table("test.csv", header = TRUE, sep = ",")
df
meta temp
1 1.283 6
2 0.642 6
3 1.962 6
4 8.989 25
5 8.721 25
6 12.175 25
7 11.676 32
8 12.131 32
9 11.576 32
ggplot(df, aes(temp, meta)) +
ylab("Metabolism") + xlab("Temperature") +
geom_point() +
theme_bw() +
scale_x_continuous(limits = c(0, 35)) +
scale_y_log10()
Run Code Online (Sandbox Code Playgroud)
我知道这应该用指数函数来表达 - 所以我的问题是我如何能够以最好的'指数'拟合?同样,是否也可以进行功率拟合?
该stat_smooth()函数是否有这个机会,或者ggplot2我应该使用的包中还有其他功能吗?
And*_*rie 10
您可以stat_smooth通过传递两个参数来指定模型以适合作为参数:
method="lm"model = log(y) ~ xggplot2 首先进行比例转换,然后拟合模型,因此在您的示例中,您只需添加
+ stat_smooth(method="lm")
Run Code Online (Sandbox Code Playgroud)
你的情节:
library(ggplot2)
ggplot(df, aes(temp, meta)) +
ylab("Metabolism") + xlab("Temperature") +
geom_point() +
theme_bw() +
scale_x_continuous(limits = c(0, 35)) +
scale_y_log10() +
stat_smooth(method="lm")
Run Code Online (Sandbox Code Playgroud)

同样,拟合和绘制功率曲线就像将x刻度更改为log一样简单:
ggplot(df, aes(temp, meta)) +
ylab("Metabolism") + xlab("Temperature") +
geom_point() +
theme_bw() +
scale_x_log10() +
scale_y_log10() +
stat_smooth(method="lm")
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
6863 次 |
| 最近记录: |