如何在覆盖密度线(ggplot2)的堆叠条形图中更改样式设置

莫里茨·施密德(Moritz Schmid)

我正在尝试更改此类图表的样式设置,希望您能对我有所帮助。

R代码:

set_theme(theme_bw)

cglac$pred2<-as.factor(cglac$pred)

ggplot(cglac, aes(x=depth, colour=pred2))
    + geom_bar(aes(y=..density..),binwidth=3, alpha=.5, position="stack")
    + geom_density(alpha=.2)
    + xlab("Depth (m)")
    + ylab("Counts & Density")
    + coord_flip()
    + scale_x_reverse()
    + theme_bw()

产生此图:

在此处输入图片说明

这里有几点:

  1. 我想要的是使密度线为用符号而不是颜色(虚线,虚线等)分隔的黑白线。

  2. 另一件事是直方图本身。如何摆脱酒吧中的灰色背景?

  3. 是否可以将条形也更改为黑白符号线(阴影等)?这样它们才能与密度线匹配?

  4. 最后但并非最不重要的一点是,由于flip_coord(),我想添加第二个x轴(在本例中为y轴)。我现在看到的是关于密度的。然后,我需要的另一个是来自pred2变量的计数数据。

感谢您的帮助。

最好,莫里茨

格雷戈尔·托马斯(Gregor Thomas)
  1. 有不同的线型:inside aes(),put linetype = pred2要在内部使线条颜色为黑色geom_density,请添加一个参数color = "black"

  2. 条的“背景”称为“填充”。在内geom_bar,您可以设置fill = NA不填充。一种更常见的方法是在aes()指定内部用颜色填充条形图fill = pred2您可能会考虑按变量进行构面,+ facet_wrap(~ pred2, nrow = 1)可能看起来非常漂亮。

  3. 阴影中的酒吧ggplot不,您不能轻易做到这一点。有关其他选项和技巧,请参见此问题的答案

  4. 第二个y轴类似于阴影符号线,ggplot创建者认为第二个y轴是一个糟糕的设计选择,因此您根本不容易做到。这是一个相关的问题,包括哈德利的观点:

我相信具有单独的y尺度的图(不是相互转化的y尺度)从根本上来说是有缺陷的。

绝对值得考虑他的观点,并问自己这些设计选择是否真的是您想要的。

密度的不同线型

这是您要执行的操作的内置数据版本:

ggplot(mtcars, aes(x = hp,
                   linetype = cyl,
                   group = cyl,
                   color = cyl)) +
    geom_histogram(aes(y=..density.., fill = cyl),
                   alpha=.5, position="stack") +
    geom_density(color = "black") +
    coord_flip() +
    theme_bw()

我认为您应该改而做。此版本使用构面,而不是使用stacking / colors / linetypes。您似乎是针对黑白的,这在这个版本中根本不是问题。

ggplot(mtcars, aes(x = hp,
                   group = cyl)) +
    geom_histogram(aes(y=..density..),
                   alpha=.5) +
    geom_density() +
    facet_wrap(~ cyl, nrow = 1) +
    coord_flip() +
    theme_bw()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在ggplot中的堆叠条形图中将误差线组织到相关条?

在ggplot2的堆叠条形图中显示数据值

如何在R中使用ggplot2在条形图中的条形图中添加标签?

使用ggplot2在堆积的条形图中设置边框

在ggplot2生成的堆叠条形图中定义条形顺序

向ggplot2 R中的堆叠条形图添加误差线-已解决

在ggplot2中的堆叠条形图上方绘制线

在ggplot2中设置堆叠条形图的条形顺序

ggplot2:geom_text如何在条形图中绘制时间?

如何在ggplot2的条形图中添加SE错误条?

如何在 R 中的 ggplot2 的条形图中绘制多个变量(即类别)

如何在条形图中为ggplot2添加第3个变量?

如何在ggplot2(R)的条形图中仅更改一个条形的geom_text的颜色和位置?

如何在R中的堆叠条形图中更改堆叠顺序?

在条形图中添加条形图 (ggplot2)

ggplot2:带有 geom_bar(position = 'fill') 的堆叠条形图中的值标签

反向堆叠顺序,但不影响ggplot2条形图中的图例顺序

堆叠ggplot2条形图中的连续轮廓

为ggplot2堆叠条形图中的每个条创建不同的色标

plotly + ggplot2:堆叠条形图中缺少一些工具提示

用行覆盖堆叠的ggplot2条形图的每个条

如何在水平堆叠条形图中显示条形值

如何在堆叠条形图中的条形上添加比率

如何在ggplot2中绘制(复杂的)堆叠条形图,而无需复杂的手动数据聚合

如何在 R 中使用 ggplot2 创建带有数据标签的非堆叠条形图?

在ggplot2的条形图中的一组上制作误差线

在dplyr中按分组后在ggplot2条形图中添加误差线

使用 ggplot2 在分组条形图中添加来自不同列的误差线

在 ggplot2 中使用 coord_flip() 后更改条形图中条形的顺序