2016-09-27 3 views
2

Ich versuche, den Abstand zwischen meinen langen Achsenbeschriftungen zu reduzieren. Ich basiere R-Grafiken, die ich verwenden sollte lheight, scheint aber keinen Effekt in ggplot zu haben. Gibt es ein ggplot-Äquivalent?Zeilenabstand für Text in ggplot

Toy Beispiel das Problem zeigen:

library("tidyverse") 
df0 <- mtcars %>% 
    rownames_to_column("car") %>% 
    mutate(car = str_wrap(car, width = 10)) 

ggplot(data = df0, aes(x = car, y = mpg)) + 
    geom_bar(stat = "identity") + 
    coord_flip() 

# has no effect 
par(lheight = 0.5) 
ggplot(data = df0, aes(x = car, y = mpg)) + 
    geom_bar(stat = "identity") + 
    coord_flip() 

enter image description here

+3

Siehe 'ggsave',' png'/'jpg' und/oder die Größe des Textes angeben mit' Thema (axis.text = ELEMENT_TEXT (size = ..) ' – Jaap

+0

@ ProcrastinatusMaximus Wie ich es verstehe, wird das die Größe des Textes (und der Abstand zwischen den Zeilen) und nicht nur die Größe des Raumes zwischen den Zeilen verringern ... ... was ich anstrebe. – gjabel

+0

Wenn wir danach sind " Vermeiden Sie Überlappung ", könnten wir mehrere Zeilennamen ausrichten und einzelne Zeilennamen richtig ausrichten? – zx8754

Antwort

4

Sie können für eine Kombination von Optionen suchen. Die der lheight am nächsten liegende Einstellung ist wahrscheinlich lineheight in element_text. Ich habe auch die Schrift verkleinert, um Optionen anzuzeigen.

ggplot(data = df0, aes(x = car, y = mpg)) + 
    geom_bar(stat = "identity") + 
    coord_flip() + 
    theme(axis.text.y = element_text(lineheight = 0.5 
            , size = 6)) 

enter image description here