我只是想知道是否有人知道如何在 R 中的一个图中将三个不同的直方图相互叠加。假设您有三个变量:
x <- c(1.5,2.1,3.6,4.2,5.6)
y <- c(2.5,2.1,1.6,3.2,4.6)
z <- c(0.5,1.5,2.6,2.2,3.6)
如果你为每个变量运行一个直方图,然后你想把这三个直方图放在同一个图中(覆盖所有三个直方图),每个直方图颜色不同,你会怎么做?
谢谢!
我们可以这样做:
library(dplyr)
library(ggplot2)
df1 <- data.frame(values = c(rnorm(1000, 2, 3),
rnorm(1000, 3, 2),
runif(1000, 4, 11)),
group = c(rep("x", 1000),
rep("y", 1000),
rep("z", 1000)))
ggplot(df1, aes(x = values, y=100*(..count..)/sum(..count..), fill = group)) +
geom_histogram(position = "identity", alpha = 0.5, bins = 70)+
ylab("percent")+
theme_minimal()