繁体   English   中英

R中的分离直方图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM