小编use*_*246的帖子

我可以在ggplot2的直方图中修复重叠的虚线吗?

我正在尝试在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()
Run Code Online (Sandbox Code Playgroud)

直方图

请注意,应显示为虚线的一行实际上是实线(x值为4)。我认为这一定是因为它实际上是两条线-一条来自3-4条,另一条来自4-5条。这些点异相,因此它们会产生一条实线。效果非常难看且不一致。

  1. 有什么办法可以解决此重叠问题?
  2. 有人可以提出一种更有效的方法来澄清两个类别之间的差异,而无需诉诸颜色吗?

非常感谢。

r histogram overlap ggplot2

3
推荐指数
1
解决办法
782
查看次数

标签 统计

ggplot2 ×1

histogram ×1

overlap ×1

r ×1