Удалите axis.titles на графиках gg.gap () - PullRequest
1 голос
/ 02 мая 2020

Кто-то знает, как удалить axis.title.y из графика gg.gap ()? Я пытаюсь использовать theme (), но он не работает ...

Например, используя пример пакета gg.gap (): я создал ggplot без заголовков по осям y и x ("p") plot), но когда я использовал «p» в gg.gap для создания промежутка по оси y, названия осей снова появляются ...

data(mtcars)
library(ggplot2)

p<-ggplot(data = mtcars, aes(x = gear, fill = gear)) +geom_bar() +ggtitle("Number of Cars by Gear") +xlab("Gears") + 
          theme( axis.title.y = element_blank(),
             axis.ticks.y = element_blank(),
             axis.text.y = element_blank(),
             axis.ticks.x = element_blank(),
             axis.text.x = element_blank())

pgg <- gg.gap(plot=p,segments=c(5,10),tick_width = c(1,10),ylim=c(0,50))

И ни одна из тем () не работает ...

pgg + theme( axis.title.y = element_blank(),
             axis.ticks.y = element_blank(),
             axis.text.y = element_blank(),
             axis.ticks.x = element_blank(),
             axis.text.x = element_blank())

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

1 Ответ

0 голосов
/ 03 мая 2020

Это интересно. Как упомянул @teunbrand, вы можете исправить это с помощью scale_y_continuous(name="") или моего предпочтения: name=NULL. Это не работает, хотя в любой перестановке!

То, что, кажется, работает, устанавливает заголовок оси на NULL или "", используя lab(y=...) или ylab(). Я думал, что это работает везде, где вы его добавили, но, кажется, вам нужно добавить к графику перед применением функции gg.gap():

# this doesn't work
p <- p + scale_y_continuous(NULL)
pgg <- gg.gap(plot=p,segments=c(5,10),tick_width = c(1,10),ylim=c(0,50))
pgg

# this doesn't work either
pgg + scale_y_continuous(NULL)

# this apparently won't work
pgg <- gg.gap(plot=p,segments=c(5,10),tick_width = c(1,10),ylim=c(0,50))
pgg + ylab(NULL)


# this works
p <- p + ylab(NULL)
pgg <- gg.gap(plot=p,segments=c(5,10),tick_width = c(1,10),ylim=c(0,50))
pgg

enter image description here

...