![](/img/trans.png)
[英]How to create a plot of two variables in a melted data frame in ggplot2?
[英]How to create histogram plot in ggplot2 without data frame?
我正在使用以下代码在 R 中绘制两个直方图。
x1<-rnorm(100)
x2<-rnorm(50)
h1<-hist(x1)
h2<-hist(x2)
plot(h1, col=rgb(0,0,1,.25), xlim=c(-4,4), ylim=c(0,0.6), main="", xlab="Index", ylab="Percent",freq = FALSE)
plot(h2, col=rgb(1,0,0,.25), xlim=c(-4,4), ylim=c(0,0.6), main="", xlab="Index", ylab="Percent",freq = FALSE,add=TRUE)
legend("topright", c("H1", "H2"), fill=c(rgb(0,0,1,.25),rgb(1,0,0,.25)))
我需要上图的视觉上好看(或风格)的版本。 我想使用 ggplot2。 我正在寻找这样的东西(请参阅更改填充颜色部分) 。 但是,我认为 ggplot2 仅适用于数据框。 在这种情况下我没有数据框。 因此,如何在 ggplot2 中创建好看的直方图? 请告诉我。 提前致谢。
你可以(也应该)把你的数据变成data.frame
,如果你想使用ggplot
。 理想情况下ggplot
, data.frame
应该是长格式。 这是一个简单的例子:
df1 = rbind(data.frame(grp='x1', x=x1), data.frame(grp='x2', x=x2))
ggplot(df1, aes(x, fill=grp)) +
geom_histogram(color='black', alpha=0.5)
有很多选项可以改变你喜欢的外观。 如果您希望将直方图堆叠或分组,或显示为百分比与计数,或密度等,您会在前面的问题中找到许多资源,这些资源展示了如何实现每个选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.