将自定义ggplot图例添加到虚线和置信带中

强尼夫

我在为自定义带和虚线设置自定义图例时遇到麻烦。到目前为止,这是我的图表。

di<-matrix(ncol = 3,nrow = 5) %>% as.data.frame()
colnames(di)<-c('group','estimate','SE')
di<-di %>% mutate(group=1:5,
                  estimate=c(0.5,9.6,13,15,23.1),
                  SE=14)

ggplot(di, aes(x=group, y=estimate)) +
  geom_point() + 
  geom_errorbar(width=.5, aes(ymin=estimate-(1.647*SE), ymax=estimate+(1.647*SE)), colour="black") +
  xlab('Group') +
  ylab('Treatment Effect') +
  labs(title="GATE with confidence bands", 
       subtitle="Point estimates and confidence bands are derived using median of all splits") +
  geom_hline(yintercept=c(7.83,22.55), 
             linetype="longdash",
             col='darkred') +
  geom_hline(yintercept=15.19, 
             linetype="longdash",
             col='blue')

看起来像这样: 在此处输入图片说明

但是,我希望它看起来像这样,具有完全相同的图例:

在此处输入图片说明

有什么建议吗?

斯蒂芬

可以这样实现:

  1. 作为一般规则:如果你想有一个传说,你必须映射美学的东西,例如招color=...aes()了所有四个geoms
  2. 然后可以通过设置所需的颜色值 scale_color_manual
  3. 对于geom_hline我们也有通过yinterceptaes()过。为此,这些得到具有所需值的辅助数据帧。
  4. 为了固定图例中的线条和形状,我使用guide_legendoveride.aes来删除图例中不想要的点以及删除该点的线条。此外,我将图例的行数设置为2。
  5. 可以通过labels和的breaks参数设置图层的标签和顺序scale_color_manual
  6. 在左上角移动图例,并通过theme选项摆脱图例和按键的背景填充
library(ggplot2)

di <- data.frame(
  group = 1:5,
  estimate = c(0.5, 9.6, 13, 15, 23.1),
  SE = 14
)

labels <- c(point = "Point", error = "Error", blue = "Blue", darkred = "Red")
breaks <- c("blue", "darkred", "point", "error")

ggplot(di, aes(x = group, y = estimate)) +
  geom_point(aes(color = "point"), size = 3) +
  geom_errorbar(width = .5, aes(
    ymin = estimate - (1.647 * SE),
    ymax = estimate + (1.647 * SE),
    color = "error"
  )) +
  scale_color_manual(values = c(
    point = "black",
    error = "black",
    blue = "blue",
    darkred = "darkred"
  ), labels = labels, breaks = breaks) +
  labs(
    title = "GATE with confidence bands",
    subtitle = "Point estimates and confidence bands are derived using median of all splits",
    x = "Group",
    y = "Treatment Effect",
    color = NULL, linetype = NULL, shape = NULL
  ) +
  geom_hline(
    data = data.frame(yintercept = c(7.83, 22.55)),
    aes(yintercept = yintercept, color = "darkred"), linetype = "longdash"
  ) +
  geom_hline(
    data = data.frame(yintercept = 15.19),
    aes(yintercept = yintercept, color = "blue"), linetype = "longdash"
  ) +
  guides(color = guide_legend(override.aes = list(
    shape = c(NA, NA, 16, NA),
    linetype = c("longdash", "longdash", "blank", "solid")
  ), nrow = 2, byrow = TRUE)) +
  theme(legend.position = c(0, 1), 
        legend.justification = c(0, 1), 
        legend.background = element_rect(fill = NA),
        legend.key = element_rect(fill = NA))

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将自定义数字添加到ggplot图例

来自分类Dev

R:将自定义图例添加到ggplot

来自分类Dev

R ggplot2:将自定义文本添加到图例和热图侧面的值计数

来自分类Dev

将自定义图例添加到bokeh Bar

来自分类Dev

将自定义图例添加到fourfold()

来自分类Dev

使用scale _..._ manual将自定义图例添加到具有两个geom_point图层的ggplot中

来自分类常见问题

将自定义图像添加到geom_polygon中,填写ggplot

来自分类Dev

将自定义计算添加到magento的购物车总额和总计中

来自分类Dev

将自定义CSS类添加到WFFM表单部分的图例元素

来自分类Dev

如何将自定义地图和自定义数据添加到Highmaps?

来自分类Dev

将自定义 jar(带依赖项)依赖项添加到 pom.xml

来自分类Dev

使用R和ggplot2语法将自定义工具提示添加到绘图中

来自分类Dev

Woocommerce和Opayo:将自定义字段添加到发送到API的数据中

来自分类Dev

将自定义标头添加到“请求”

来自分类Dev

Hibernate将自定义前缀添加到目录

来自分类Dev

将自定义函数添加到类

来自分类Dev

将自定义类添加到引导按钮

来自分类Dev

将自定义键绑定添加到XCode

来自分类Dev

无法将自定义字体添加到Xcode

来自分类Dev

将自定义属性添加到Serilog

来自分类Dev

pyqt:将自定义列添加到QFileSystemModel

来自分类Dev

将自定义视图添加到警报视图

来自分类Dev

将自定义别名添加到.zshrc

来自分类Dev

将自定义标签添加到TIFF文件

来自分类Dev

将自定义代码段添加到emmet

来自分类Dev

将自定义Gradle插件添加到项目

来自分类Dev

将自定义属性添加到SimpleSAMLPhp

来自分类Dev

将自定义字段添加到Django admin

来自分类Dev

将自定义消息添加到TestNG失败

Related 相关文章

热门标签

归档