Ggplot2'de eksen başlığının ve etiketlerin boyutunu değiştirme


146

Cevabı bulmak için uğraşıyorum gerçekten basit bir sorum var. Buradaki birinin bana yardım edebileceğini umuyordum.

Örnek bir veri çerçevesi aşağıda sunulmuştur:

a <- c(1:10)
b <- c(10:1)
df <- data.frame(a,b)
library(ggplot2)
g = ggplot(data=df) + geom_point(aes(x=a, y=b)) +
  xlab("x axis")
g

Sadece eksen başlıklarının ve eksen etiketlerinin metin boyutunu nasıl değiştirdiğimi öğrenmek istiyorum.

Yanıtlar:


313

Eksen metnini ve etiket boyutunu argümanlarla axis.text=ve axis.title=işlevde değiştirebilirsiniz theme(). Örneğin, yalnızca x ekseni başlık boyutunu değiştirmeniz gerekiyorsa kullanın axis.title.x=.

g+theme(axis.text=element_text(size=12),
        axis.title=element_text(size=14,face="bold"))

Ggplot2 sayfasında farklı theme()parametrelerin ayarlanması ile ilgili iyi örnekler vardır .


8
rel()Şimdi de çok sezgisel bir fonksiyon var. ör.size = rel(2.0)
HongboZhu

2
nasıl biri değiştirecek labs(x = "x axis")metin boyutunu olmadan x ekseni kene değerini değiştirerek?
baxx

53

Bence bunu yapmanın daha iyi bir yolu base_sizetartışmayı değiştirmek . Metin boyutlarını tutarlı bir şekilde artıracaktır.

g + theme_grey(base_size = 22)

Olarak görülüyor burada .


5
Zaten başka themeörnekleriniz varsa, bu çakışmalara neden olabilir.
Adam Erickson

10

Çok sayıda grafik oluşturuyorsanız, her grafik için başlıkların ve metinlerin boyutu için kontrol edilen kod satırlarını yazmaktan bıkmış olabilirsiniz. Ben tipik olarak ne yapmak istenen tema özelliklerini tanımlayan bir nesne ("tema" "gg" sınıfı) oluşturmaktır. Bunu kodunuzun başında yapabilirsiniz.

My_Theme = theme(
  axis.title.x = element_text(size = 16),
  axis.text.x = element_text(size = 14),
  axis.title.y = element_text(size = 16))

Daha sonra, yapmanız gereken tek şey grafiklerinize My_Theme eklemektir.

g + My_Theme
başka bir grafiğiniz varsa, g1, şunu yazın:
g1 + My_Theme 
ve bunun gibi.

4

Tüm metin öğelerinin boyutunu (neredeyse) tek bir yerde ve senkronize rel()olarak değiştirmek oldukça etkilidir:
g+theme(text = element_text(size=rel(3.5))

En iyi sonucu elde etmek için sayıyı biraz değiştirmek isteyebilirsiniz. Hem yatay hem de dikey eksen etiketlerini ve başlıklarını ve diğer metin öğelerini aynı ölçekte ayarlar. Bunun bir istisnası, örneğin hem x hem de y fasetlerinin bir grafikte kullanılması durumunda, manuel olarak aynı değere ayarlanması gereken yönlü ızgaraların başlıklarıdır:
theme(text = element_text(size=rel(3.5)), strip.text.x = element_text(size=rel(3.5)), strip.text.y = element_text(size=rel(3.5)))

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.