我正在尝试使用以下代码绘制带叠加层的直方图(由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))
,但这不起作用。你能否就改变范围提出一些建议?谢谢。
答案 0 :(得分:2)
在这里猜测,因为你在问题中只提供了一些有用的信息,但这对我有用:
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
。但由于您没有提供有关您的数据或功能的任何详细信息,我无法向您保证这将适用于您的情况。