【问题标题】:How can I change the legend geometry in ggplot2如何更改 ggplot2 中的图例几何图形
【发布时间】:2016-06-02 10:55:39
【问题描述】:

你好说我画了这个箱线图:

library(ggplot2)
DT <- data.frame(
  y = runif(400, max = 2),
  grp = sample(c('M', 'F'),size = 400, replace = T),
  x = rep(as.Date(1:10,origin='2011-01-01'), each = 40)
)
p <- ggplot(DT) + geom_boxplot() + aes(x = x, y = y, group=interaction(x,grp), fill=grp)
p

问题是如何用行替换图例中的那些小框(就像我使用 graphics 一样)

【问题讨论】:

    标签: r ggplot2 legend


    【解决方案1】:

    最简单的选择可能是使线条不可见,

    p + guides(fill = guide_legend(override.aes = list(col=NA)))
    

    或者,您可以覆盖 boxplot geom 的键,

    my_key = function (data, params, size) 
    {
        grid::rectGrob(height=grid::unit(2,"mm"), 
                 gp = grid::gpar(col = NA, 
                           fill = scales::alpha(data$fill, data$alpha), 
                           lty = data$linetype))
    }
    GeomBoxplot$draw_key <- my_key
    p
    

    (如果您在同一会话中需要原件,最好先克隆 GeomBoxplot)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-10
      • 2016-08-31
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      相关资源
      最近更新 更多