如何在同一图形中绘制经验密度(与单独绘制尺寸相同)

时间:2019-07-17 13:51:52

标签: r data-visualization ggplot2

我正在同一图形中绘制5种密度,其中一种来自正态分布,另一种来自经验。当我单独绘制时,密度具有正确的形状,但是当我一起绘制(使用相同的代码)时,出现了问题并且形状有所不同。

我试图对geom_density(data = ...)使用相同的数据框进行修复,但是没有用。

我有很多数据,我将输入代码和输出: 当我单独绘图时,我得到了:

df1 = data.frame(normal_sim[61,])
df3 = data.frame(snormal_sim09[61,])
df4 = data.frame(t_sim2.1[61,])
df7 = data.frame(st_sim2.1_09[61,])

ggplot() + 
geom_density(data = df7, aes(x = st_sim2.1_09[61,]),colour = 'pink',
               size = 1.1,show.legend = F) +
coord_cartesian(xlim = c(-4.5, 4.5)) +
  labs( x = expression(y[r]), y=expression("Densities"))+
  theme_bw()

enter image description here 但是,当我尝试将所有缺点汇总在一起时,我会发现

ggplot() + 
  stat_function(data = data.frame(x = c(-3, 3)), aes(x),colour = 'yellow',fun = dnorm,n=100000 ,args = list(mean = 0, sd = 1), size=1.1) + 
  geom_density(data = df3, aes(x =snormal_sim09[61,]),colour = 'blue',
               size = 1.1,show.legend = F) +
  geom_density(data = df4, aes(x = t_sim2.1[61,]),colour = 'green',
               size = 1.1,show.legend = F) +
  geom_density(data = df7, aes(x = st_sim2.1_09[61,]),colour = 'pink',
               size = 1.1,show.legend = F) +
  geom_density(data = df1, aes(x = normal_sim[61,]),colour = 'black',
               size = 1.1,show.legend = FALSE)+
  coord_cartesian(xlim = c(-4.5, 4.5)) +
  labs( x = expression(y[r]), y=expression("Densities"))+
  theme_bw()

enter image description here 请注意,粉红色浓度的y轴会发生变化。

我希望最终的图形具有5种密度,它们的形状与分别绘制的形状相同(包括“ ylim”)。

0 个答案:

没有答案