我绘制以下内容:
library(ggplot2)
carrots <- data.frame(length = rnorm(500000, 10000, 10000))
cukes <- data.frame(length = rnorm(50000, 10000, 20000))
carrots$veg <- 'carrot'
cukes$veg <- 'cuke'
vegLengths <- rbind(carrots, cukes)
ggplot(vegLengths, aes(length, fill = veg)) +
geom_density(alpha = 0.2)
Run Code Online (Sandbox Code Playgroud)
现在说我只是想绘制之间的区域x=-5000来5000,而不是整个范围.
我怎样才能做到这一点?
我正在为一些数据生成图,但是滴答的数量太小,我需要更高的读数精度.
有没有办法增加ggplot2中的轴刻度数?
我知道我可以告诉ggplot使用向量作为轴刻度,但我想要的是增加所有数据的刻度数.换句话说,我希望根据数据计算滴答数.
可能ggplot在内部使用某种算法执行此操作,但我无法找到它是如何做到的,根据我的需要进行更改.
我正努力在ggplot上添加回归线.我首先尝试使用abline,但我没有设法让它工作.然后我尝试了这个......
data = data.frame(x.plot=rep(seq(1,5),10),y.plot=rnorm(50))
ggplot(data,aes(x.plot,y.plot))+stat_summary(fun.data=mean_cl_normal) +
geom_smooth(method='lm',formula=data$y.plot~data$x.plot)
Run Code Online (Sandbox Code Playgroud)
但它也没有用.
我想在ggplot2中使用geom_ribbon来绘制阴影置信区间.但是,如果其中一条线超出设定的y限制,则会切断色带而不会延伸到绘图的边缘.
最小的例子
x <- 0:100
y1 <- 10+x
y2 <- 50-x
ggplot() + theme_bw() +
scale_x_continuous(name = "x", limits = c(0,100)) +
scale_y_continuous(name = "y", limits = c(-20,100)) +
geom_ribbon(aes(x=x, ymin=y2-20, ymax=y2+20), alpha=0.2, fill="#009292") +
geom_line(aes(x=x , y=y1)) +
geom_line(aes(x=x , y=y2))
Run Code Online (Sandbox Code Playgroud)
我想要的是重现与基础R中绘图相同的行为,其中着色延伸到边缘
plot(x, y1, type="l", xlim=c(0,100),ylim=c(-20,100))
lines(x,y2)
polygon(c(x,rev(x)), c(y2-20,rev(y2+20)), col="#00929233", border=NA)
Run Code Online (Sandbox Code Playgroud)