我很高兴地发现我可以通过添加key_glyph = draw_key_rect到我的 geom 层来更改图例中使用的字形。我想让图例更宽更短,以类似于Timo Grossenbacher在这张地图中的图例:

我试过调整scale_fill_manual(guide = guide_legend(keyheight = unit(0.01, units = "mm") , keywidth = unit(40, units = "mm")))改变图例尺寸的方法,但似乎只有当我把字形变大时才有效。我似乎无法使键高更小。
有没有更好的方法来调整图例字形的尺寸?

此处简化代码:
df <- data_frame(x_value = c(1:10),
y_value = c(rev(1:10)),
value = c("a","a","a","a","b","b","b","b","c","c"))
library(ggplot2)
ggplot(data = df) +
geom_point(aes(x_value, y_value, fill = value),
shape = 21,
size = 9,
key_glyph = draw_key_rect) +
theme(legend.justification = c(0,0), # set which corner of legend legen.position references
legend.position = c(0.05, 0.04)) +
scale_fill_manual(values = c("red", "green", …Run Code Online (Sandbox Code Playgroud)