我正在尝试在图形上绘制边界线。我目前正在使用以下函数进行绘图,该函数使用样条函数获得95%的间隔:
g <- ggplot(m17d3, aes(x=Carbon, y=yield, col=Node, shape=Node)) +
geom_point() +
scale_color_manual(values=graypal) +
scale_shape_manual(values=c(2,17,15,18,0,4,3,1,16)) +
ylab(expression(paste("Yield (kg/",ha^{-1},")"))) +
xlab("Carbon (% by weight)") +
theme(legend.position="none") +
geom_smooth(aes(group=1), se=T, method=lm,
formula = y ~ splines::bs(x,2), span=0.5, level=0.95) +
ylim(c(0,9000))
我想将x轴分成10个并选择/绘制平均值为+ 3 s.t.d的点。及以上(红色,为稍微偏离的位置而感到抱歉):
谢谢。
答案 0 :(得分:0)
能否将红色函数的值添加为数据框中的列?然后,您可以在同一图上绘制点和线。 mtcars一个简单的例子...
DATEVALUE(LEFT(A1,10)) + TIMEVALUE(RIGHT(LEFT(A1,16),5))
答案 1 :(得分:0)
所以我设法用这个来绘制它:
m17carbon$group <- as.factor(as.numeric(cut(m17carbon$Carbon, 30)))
summar_carb <- m17carbon
%>% group_by(group)
%>% summarise(y_mean=mean(yield), y_sd=sd(yield),c_mean =mean(Carbon,na.rm=T) ,n =n())
summar_carb$yield_2sd <- summar_carb$y_mean + summar_carb$y_sd*2
g <- ggplot()
+ geom_point(data=m17d3, aes(x=Carbon, y=yield, col=Node, shape=Node))
+ scale_color_manual(values=graypal)
+ scale_shape_manual(values=c(2,17,15,18,0,4,3,1,16))
+ ylab(expression(paste("Yield (kg/",ha^{-1},")"))) +xlab("Carbon (% by weight)")
+ ggtitle("Yield potential from soil organic carbon")
+ theme(plot.title = element_text(hjust = 0.5))
g + geom_smooth(data=summary_c, aes(x=c_mean, y=yield_2sd),
se=FALSE, method=lm, formula = y ~ splines::bs(x,6))