2016-03-23 2 views
4

Можно ли добавить метку к оси y, если вы используете theme_fivethirtyeight? Я попытался ylab, но он не работает:Добавить ylab в ggplot с fivethirtyeight ggtheme

library(ggplot2) 
library(ggthemes) 
p2 <- ggplot(mtcars, aes(x = wt, y = mpg, colour = factor(gear))) + 
    geom_point() + 
    ggtitle("Cars") 
p2 + geom_smooth(method = "lm", se = FALSE) + 
    scale_color_fivethirtyeight("cyl") + 
    theme_fivethirtyeight() + ylab('SOMETHING') 

enter image description here

ответ

8

Вы можете, но это займет немного больше работы, чем ylab, потому что вы должны изменить некоторые theme настройки, которые по умолчанию в theme_fivethirtyeight. Если вы посмотрите на код для theme_fivethirtyeight (просто запустите theme_fivethirtyeight в консоли, чтобы увидеть код), вы увидите, что axis.title установлено на element_blank(). Так что эта тема вообще не имеет названий осей. Вам нужно будет изменить это, если вы хотите установить метку оси y.

Например, вы могли бы добавить

theme(axis.title = element_text()) + ylab('Something') 

на ваш граф, но тогда вы получите метку оси х, а также.

В качестве альтернативы можно использовать

theme(axis.title = element_text(), axis.title.x = element_blank()) + ylab('Something') 

enter image description here

Как axis.title.y наследуется от axis.title, он не работает просто установить axis.title.y в element_text().

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