Open dekaufman opened 4 years ago
To be honest, I don't really understand why this happens. geom_subgroup_border()
uses draw_key_blank()
, so in principle it shouldn't have any effect on the legend. Somehow though the size aesthetic seems to percolate back up from geom_subgroup_border()
and affect how the keys for the tiles are drawn.
A workaround is to manually specify the aesthetics for geom_subgroup_border()
:
library(treemapify)
library(tidyverse)
ggplot(diamonds %>% head(12),
aes(area = carat, fill = color, label = color,
subgroup = cut, subgroup2 = color)) +
geom_treemap(size = 3) +
geom_treemap_subgroup_border(aes(area = carat, subgroup = cut), color = "grey", size = 20, inherit.aes = FALSE) +
geom_treemap_subgroup2_border(color = "grey", size = 2) +
geom_treemap_subgroup_text(place = "center", grow = FALSE, alpha = 0.5, colour =
"black", fontface = "italic", min.size = 2,
padding.x = grid::unit(3,"mm"), padding.y = grid::unit(3,"mm") ) +
theme(legend.key.size = unit(1, "cm"),
legend.key.width = unit(0.3, "cm")) +
theme(legend.background = element_rect(fill = 'grey'))
#> Warning: Ignoring unknown aesthetics: subgroup
Created on 2019-10-19 by the reprex package (v0.3.0)
This produces a warning but at least it draws the plot the way you want.
Code example, using
theme()
to control the size and shape of the legend key items:Result:![image](https://user-images.githubusercontent.com/9930919/66939487-c3639a00-f008-11e9-8c48-b1741214d63a.png)
However, when![image](https://user-images.githubusercontent.com/9930919/66939590-f148de80-f008-11e9-975e-bdf039d10535.png)
geom_treemap_subgroup_border()
is uncommented to introduce some separation between major groupings, the legend key sizing no longer works:(Actually, it partly works. Values of
legend.key.size
bigger than 2 cm will take effect.)Is there a way to use both features fully?