在geom_tile

时间:2018-10-25 16:38:36

标签: r ggplot2 heatmap

我试图将两个图例文本标签分别移到彩色图例的顶部和底部。 hjust and vjust参数成功移动了第一个文本标签,但没有更改第二个。我已经尝试过使用c()甚至变异一个“ newvjust”变量以在参数中使用,但是却遇到了“ valid.viewport中的错误...必须全部为长度1的单位。”

这是一些相关的代码(一般重命名),以及我到目前为止所到之处的图片。

    p <- ggplot(data, aes(xvar, yvar)) + 
  geom_tile(aes(fill = colour)) + 
  # ggtitle("Heatmap") + 
  labs(x = "xaxis", 
       y = "yaxis") + theme_classic() + 
  theme(axis.text.y = element_text(angle = 17.43, hjust = 1, size = 5),
        legend.justification = c(0, 1), 
        legend.position = "right",
        legend.text=element_text(size = 3.7, vjust = 1.5, hjust = -2))  +
  scale_x_continuous(breaks = c(106:115)) + 
  geom_vline(xintercept = c(106.5, 107.5, 108.5, 109.5, 110.5, 111.5, 112.5, 113.5, 114.5, 115.5), alpha = 0.15) + 
  geom_hline(yintercept = c((1:126) + .5), alpha = .15)
p + scale_fill_manual(values = c("lightblue", 
                                   "green"),
                        labels = c("Legend Label 1", 
                                   "Legend Label 2"), 
                        name = NULL) 

如您所见,尽管我希望Lengend Label 2出现在底部,但只有“ Lab1”图例文本在移动:

enter image description here

提前谢谢!!

0 个答案:

没有答案