2016-09-12 4 views
0

Я использую следующий код для создания Heatmap:ggplot2 позиция названия легенды

library(ggplot2) 
gamma_df <- read.csv("https://www.dropbox.com/s/1kpclcq7o907t61/blogs_test.csv?dl=1") 
p <- ggplot(data = gamma_df, aes(x=gamma2, y=gamma3, fill=predacc)) + geom_tile() 
p <- p + scale_fill_gradient2(low = "white", high = "red", 
           limit = c(0.1,0.4), space = "Lab", 
           name="Discounts") 
p <- p + theme(legend.position="right") 
p 

и мои результаты выглядят следующим образом:

enter image description here

Я был неудачен в движении заголовка легенды немного, чтобы он не перекрывал значения. Я попытался добавить

p + guides(color=guide_colourbar(title.vjust=3)) 

как предложено here с различными значениями для title.vjust параметра, но без удачи. Кто-нибудь знает магию для этого?

+2

Что такое (или более уместно, как было) 'p' создано? –

+2

Я думаю, что Гэвин упомянул, что вам не хватает кода для создания 'p'. Вероятно, у вас есть код, похожий на 'ggplot (gamma_df, aes (x = gamma2, y = gamma3)) + geom_tile (aes (fill = predacc))' Это то, что вы хотите добавить в свой вопрос. – jazzurro

+0

Спасибо за разъяснение. Добавлена ​​недостающая строка. –

ответ

2

Быстрое решение просто добавить новую строку в конце названия легенды:

library(ggplot2) 
gamma_df <- read.csv("https://www.dropbox.com/s/1kpclcq7o907t61/blogs_test.csv?dl=1") 
p <- ggplot(data = gamma_df, aes(x=gamma2, y=gamma3, fill=predacc)) + geom_tile() 
p <- p + scale_fill_gradient2(low = "white", high = "red", 
           limit = c(0.1,0.4), space = "Lab", 
           name="Discounts\n") 
p <- p + theme(legend.position="right") 
p 

хотя вы могли бы быть лучше просто избавиться от limit =

gamma_df <- read.csv("https://www.dropbox.com/s/1kpclcq7o907t61/blogs_test.csv?dl=1") 
    p <- ggplot(data = gamma_df, aes(x=gamma2, y=gamma3, fill=predacc)) + geom_tile() 
    p <- p + scale_fill_gradient2(low = "white", high = "red", 
            space = "Lab", 
            name="Discounts") 
    p <- p + theme(legend.position="right") 
    p 
+0

Оба работают нормально. Я совмещаю оба ваших предложения, чтобы получить ярлык еще выше, потому что он выглядит лучше. Спасибо –

Смежные вопросы