Управлять отдельными надписями легенды в geom_tile - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь переместить две текстовые метки легенды вверху и внизу цветной легенды соответственно.Аргумент hjust и 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) 

Как видите, движется только текст легенды "Lab1", хотя я хочу, чтобы в нижней части появилась надпись Labgend 2:

enter image description here

Заранее спасибо !!

...