[英]Separated histograms in R
我正在使用以下代码在同一图表中生成三个不同的直方图。 但是,我想知道,如果有可能将三个不同的直方图在三个不同的图中分开,并且在所有三个图的x轴上具有相同的比例。 作为替代方案,我考虑将三个直方图转换为密度,并将它们保存在同一图表中。
require(ggplot2)
require(reshape2)
set.seed(1)
df <- data.frame(x = rnorm(n = 1000, mean = 2, sd = 0.2),
y = rnorm(n = 1000, mean = 2),
z = rnorm(n = 1000, mean = 2))
ggplot(melt(df), aes(value, fill = variable)) + geom_histogram(position = "dodge")+ scale_fill_manual(values = c('red','black','green'))
谢谢。
尝试这个:
gg <- melt(df)
ggplot(gg) + geom_bar(aes(x=value,fill=variable)) + facet_grid(variable~., scale.)
函数melt(...)将您的数据从“宽”格式(不同列中的值)转换为“长”格式(一列中的值,附加列指示哪个值与哪个变量一致。这是首选格式ggplot。然后facet_grid(...)将不同的变量(x,y,z)放入不同的图形(或面板)中。
用它来表示密度:
ggplot(gg) +
stat_density(aes(x=value, color=variable),geom="line",position="dodge")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.