Как я могу изменить вертикальное положение оси y с помощью ggplot?

#r #ggplot2

Вопрос:

Другие вопросы намекали на использование полей, но это не работает для меня.

Вот минимальный рабочий пример, делающий большую маржу справа работает:

 library(ggplot2)


df <- diamonds[1:100,]

p <- ggplot(df, aes(table, depth))   geom_point()  
  theme(axis.title.y=element_text(size=20, margin=unit(c(0.1, 10.1, 0.1, 0.1), unit="cm")))
print(p)
 

Изображение 1

но если сделать большой сверху или снизу, это не значит:

 library(ggplot2)


df <- diamonds[1:100,]

p <- ggplot(df, aes(table, depth))   geom_point()  
  theme(axis.title.y=element_text(size=20, margin=unit(c(10.1, 0.1, 0.1, 0.1), unit="cm")))
print(p)
 

Изображение 2

Комментарии:

1. это действительно тупое хакерское решение, и мне очень жаль. Но я просто попробовал это, добавив много пустого места в заголовке оси (например: «[здесь много пробелов, которые не отображаются в заголовке оси stackoverflow]») и получил результаты. Тогда я думаю, что вы можете просто использовать scale_y_continuous(vjust = что угодно) для внесения любых изменений в форматирование.

2. Какой именно вывод вы хотите получить, чтобы изменить выравнивание заголовка оси? Это было бы путем установки hjust. AFAIK заголовок создается в виде блока, который охватывает высоту области построения, поэтому установка поля вверху или внизу ничего не должна менять

3. «Как я могу изменить вертикальное положение оси y» —> На что вы хотите его изменить?

4. Я хочу переместить заголовок оси y наверх и выровнять его так, чтобы между фактическим сюжетом и верхним концом рисунка был дополнительный пробел