相关疑难解决方法(0)

底部和水平的ggplot2图例

如何将ggplot2图例移动到绘图底部并将其水平旋转?

示例代码:

library(reshape2) # for melt
df <- melt(outer(1:4, 1:4), varnames = c("X1", "X2"))
p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p1 + scale_fill_continuous(guide = guide_legend())
Run Code Online (Sandbox Code Playgroud)

期望的(近似)结果: 在此输入图像描述

r ggplot2

100
推荐指数
2
解决办法
9万
查看次数

在 ggplot2 中增加图例项之间的空白

我的问题是这个问题的延伸。请注意,我使用的是 2.3.0 版本,该版本可在github 上使用,但尚未在 CRAN 上使用。

library(ggplot2)

df <- data.frame("Categories" = rep(c("A", "B", "C"), 3),  
                 "values" = c(rep(0.39, 3), rep(0.37, 3), rep(0.24, 3)),
                 "X" = 1:9)

ggplot(df, aes(x = X, y = values, colour = Categories)) +
  geom_line() +
  theme(
        legend.position = "top",
        legend.spacing.x = unit(2, unit = "cm"),
        legend.title = element_blank()
        ) 
Run Code Online (Sandbox Code Playgroud)

上面的代码创建了这个图。

在此处输入图片说明

我想将图例标签(A、B、C)移近它们对应的图标,如下面的红色箭头所示,这将在图例类别之间创建更多空白。我该怎么做?

在此处输入图片说明

r ggplot2

4
推荐指数
1
解决办法
1024
查看次数

R ggplot 在图例项之间添加空格

我有一个 ggplot2 并且正在尝试增加图例项之间的间距。

下面的代码产生下面的图:

library(tidyverse)
library(ggplot2)
year <- 2005:2015
variablea <- 1000:1010
variableb <- 1010:1020
df = data.frame(year, variablea, variableb)

df %>% gather(variable, value, -year) %>% 
  ggplot(aes(x = year, y = value, colour = variable, linetype = variable)) + 
  geom_line() +
  theme(
    legend.key=element_blank()
    ,legend.text=element_text(size=12)
    ,legend.position="bottom"
    ,legend.title=element_blank()
    ,panel.background = element_rect(fill = "transparent") # bg of the panel
    ,plot.background = element_rect(fill = "transparent") # bg of the plot
  ) 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

然而,底部的图例项目之间的差距太近了,不舒服。

我试图从其他问题中调整解决方案,但它们不起作用。

例如,+ guides(fill=guide_legend(keywidth=0.1, keyheight=0.1, default.unit="inch"))按照有没有办法更改 ggplot2 中图例项之间的间距中的建议添加?不起作用,因为它是一个折线图,所以这些线只是扩展以填充额外的空间。我也尝试了链接问题中建议的第二种解决方案,但它似乎没有改变(目前我正在使用+ …

r ggplot2

3
推荐指数
1
解决办法
5746
查看次数

标签 统计

ggplot2 ×3

r ×3