使图例不可见,但在ggplot2中保持图形尺寸和边距相同

时间:2017-02-24 12:17:51

标签: r ggplot2

我制作了一个带有传奇的情节。

enter image description here

使用图像编辑程序我使图例不可见(但图形具有相同的尺寸)

enter image description here

是否可以在ggplot2中执行此操作?我希望文档中有一个2x2的图表面板,但只有一个图例。

2 个答案:

答案 0 :(得分:6)

以此为例,

dropRecord {}

enter image description here

以下似乎有效:

library(ggplot2)

p <- ggplot(mtcars, aes(x = disp, y = hp, color = factor(cyl))) +
    geom_point() +
    geom_line()

enter image description here

请注意,灰色区域的尺寸没有变化。

答案 1 :(得分:0)

将元素设置为白色可能会导致问题,即在连续缩放的情况下。可以使刻度和文本元素不可见。

p <- ggplot(mtcars, aes(x = disp, y = hp, lty = factor(gear))) +
          geom_point(aes(color = cyl)) +
          geom_line()

给出一个带有图例的普通图:

enter image description here

现在通过在 alpha = 0 中为每个比例设置 override.aes = list() 中的 guide = guide_legend() 并为图例的文本元素设置 color = "transparent" ,使其真正“不可见”:

p + scale_color_continuous(guide = guide_legend(override.aes = list(alpha = 0) ) )+
scale_linetype(guide = guide_legend(override.aes = list(alpha = 0) ) )+
theme(legend.title = element_text(color = "transparent"),
    legend.text = element_text(color = "transparent"))

enter image description here