指定指南顺序会更改指南

时间:2019-05-23 18:18:04

标签: r ggplot2

当我手动指定图例指南的顺序时,填充指南看起来会有所不同。这是一个令人惊讶的互动。我想要的是指定填充优先,同时保留在第一个绘图中得到的填充指南。

可复制的示例:

library(tidyverse)

# create a plot
set.seed(123)
p <- expand.grid(x=1:10, y=1:10) %>%
  data.frame(fill=rlnorm(100)) %>%
  ggplot(aes(x,y)) +
  geom_tile(aes(fill=fill)) +
  geom_point(aes(size=x*y), shape=21) +
  coord_equal() +
  scale_fill_viridis_c()

在打印p时,看起来像这样:

p

enter image description here

但是,当我指定引导顺序(在这种情况下甚至不会更改默认顺序)时,填充指南看起来会有所不同(它显示为离散比例而不是连续比例,并且方向相反)

p + guides(fill = guide_legend(order = 1),
           size = guide_legend(order = 2))

enter image description here

如何在保留第一张图中获得的填充指南类型的同时指定填充顺序?谢谢!

1 个答案:

答案 0 :(得分:2)

哦,是因为guide_legend表示离散的图例(上面显示的第二种)。我应该使用guide_colorbar

p + guides(fill = guide_colorbar(order = 1),
           size = guide_legend(order = 2))

现在它可以正常工作