【发布时间】:2015-02-20 14:24:29
【问题描述】:
我正在尝试在 ggplot2 中绘制两个重叠分布的直方图。不幸的是,图形需要是黑白的。我尝试用不同的灰色阴影和透明度来表示这两个类别,但结果并不像我想要的那样清晰。我尝试为具有不同线型的条添加轮廓,但这产生了一些奇怪的结果。
require(ggplot2)
set.seed(65)
a = rnorm(100, mean = 1, sd = 1)
b = rnorm(100, mean = 3, sd = 1)
dat <- data.frame(category = rep(c('A', 'B'), each = 100),
values = c(a, b))
ggplot(data = dat, aes(x = values, linetype = category, fill = category)) +
geom_histogram(colour = 'black', position = 'identity', alpha = 0.4, binwidth = 1) +
scale_fill_grey()
请注意,其中一条应显示为虚线的线实际上是实线(x = 4)。我认为这一定是因为它实际上是两条线——一条来自 3-4 条,一条来自 4-5 条。这些点是异相的,因此它们会产生一条实线。效果相当丑陋和不一致。
- 有没有办法修复这种重叠?
- 谁能提出一种更有效的方法来澄清这两个类别之间的区别,而不用借助颜色?
非常感谢。
【问题讨论】:
标签: r ggplot2 histogram overlap