ggplot2 çizim alanı kenar boşlukları?


88

Arsa başlığı ile altındaki çizim alanı arasındaki boşluğu artırmanın kolay bir yolu var mı (verilerin bulunduğu kutu). Benzer şekilde, eksen başlığı ve eksen etiketleri arasında biraz boşluk olmasını tercih ederim.

Başka bir deyişle, "başlığı biraz yukarı, y ekseni başlığını biraz sola ve x ekseni başlığını biraz aşağı taşımanın" bir yolu var mı?


1
"\n"Yeni satırları zorlamak için her zaman bazı karakterleri başlıklara yapıştırabilirsiniz .
joran

Yanıtlar:


118

Sen ile arsa marjları ayarlayabilirsiniz plot.marginiçinde theme()ve daha sonra birlikte eksen etiketlerini ve başlığı hareket vjustargüman element_text(). Örneğin :

library(ggplot2)
library(grid)
qplot(rnorm(100)) +
    ggtitle("Title") +
    theme(axis.title.x=element_text(vjust=-2)) +
    theme(axis.title.y=element_text(angle=90, vjust=-0.5)) +
    theme(plot.title=element_text(size=15, vjust=3)) +
    theme(plot.margin = unit(c(1,1,1,1), "cm"))

sana böyle bir şey verecek:

görüntü açıklamasını buraya girin

Farklı theme()parametreler ve bunların argümanları hakkında daha fazla bilgi istiyorsanız, sadece ?themeR komut istemine girebilirsiniz .


4
Teşekkürler! Bunun argüman grid::unitsiçin işe yaraması için ne sağlayacağımdan emin değildim plot.margin. 4'e kadar sayısal bir değer sağlamanız gerektiği ortaya çıktı units. xTartışmanın bir şekilde unitsgeri dönüştürülmemesi çok kötü . Ayrıca, muhtemelen bunu zaten biliyorsunuzdur, ancak optsşu anda ggplot2'nin (0.9.2+) son sürümünde kullanımdan kaldırılan theme, theme_textşimdi ile değiştirildiği gibi ile değiştirilen not etmeye / güncellemeye değer element_text.
Paul McMurdie

45
Plot.margin için kenarların sırası, başka biri onu ararken zamandan tasarruf etmek isterse birimdir (c (üst, sağ, alt, sol), birimler).
mightypile

19
@generic_user: burada belirtildiği gibi hatırlaması belki daha kolay :t, r, b, l (To remember order, think trouble).
Tung

3
Alternatif olarak üst sadece saat yönünde var ... hatırlamak: top, right, bottom, left.
2019

1
ayrıca:margin(t, r, l, b)
Brian D
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.