我目前正在尝试使用以下代码绘制带有叠加层的直方图(由 my_fun 提供)。
dfr = data.frame(x)
ggplot(dfr,aes(x)) + geom_histogram(colour="darkblue", binwidth = 0.1,
aes(y =..density..), size=1, fill="blue", freq = TRUE)+
stat_function(fun = my_fun, colour = "red")
ggplot中的x轴是从1到2(这是我的数据的范围)。但是,我希望我的绘图具有从 0 到 3 的 x 轴,以便可以在 (0, 3) 范围内绘制叠加层。
我尝试添加 coord_cartesian(xlim=c(0, 3))
但这不起作用。您能给我一些关于更改范围的建议吗?谢谢。
最佳答案
只是在这里猜测,因为您在问题中只提供了一些有用的信息,但这对我有用:
dat <- data.frame(x=rnorm(100))
ggplot(dat,aes(x=x)) +
geom_histogram(aes(y=..density..),freq=TRUE) +
stat_function(fun = dnorm, colour="red") +
xlim(c(-4,4))
使用xlim
而不是coord_cartesian
。但由于您没有提供有关您的数据或功能的任何详细信息,我无法向您保证这适用于您的情况。
关于r - 在 R 中使用 ggplot 扩展 x 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718328/