Saya merencanakan sebuah grafik dengan variabel kategoris pada sumbu x dan variabel numerik pada sumbu y.
Untuk sumbu x, mengingat bahwa ada banyak data poin, default pemformatan teks penyebab label untuk setiap tick mark tumpang tindih dengan label lain. Bagaimana cara (a) mengubah ukuran font untuk sumbu teks dan (b) mengubah orientasi teks sehingga teks adalah tegak lurus terhadap sumbu?
Menggunakan tema ()
:
d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
theme(text = element_text(size=20),
axis.text.x = element_text(angle=90, hjust=1))
#vjust adjust the vertical justification of the labels, which is often useful
Ada's banyak informasi yang baik tentang bagaimana untuk memformat ggplots di sini. Anda dapat melihat daftar lengkap dari parameter anda dapat memodifikasi (pada dasarnya, semua dari mereka) menggunakan ?tema
.
Idem @Drew Steen pada penggunaan tema ()
. Berikut ini adalah tema umum atribut untuk sumbu teks dan judul.
ggplot(mtcars, aes(x = factor(cyl), y = mpg))+
geom_point()+
theme(axis.text.x = element_text(color = "grey20", size = 20, angle = 90, hjust = .5, vjust = .5, face = "plain"),
axis.text.y = element_text(color = "grey20", size = 12, angle = 0, hjust = 1, vjust = 0, face = "plain"),
axis.title.x = element_text(color = "grey20", size = 12, angle = 0, hjust = .5, vjust = 0, face = "plain"),
axis.title.y = element_text(color = "grey20", size = 12, angle = 90, hjust = .5, vjust = .5, face = "plain"))
Menambahkan untuk solusi sebelumnya, anda juga dapat menentukan ukuran font relatif ke base_size
termasuk dalam tema-tema seperti theme_bw()
(di mana base_size
11) menggunakan rel()
fungsi.
Misalnya:
ggplot(mtcars, aes(disp, mpg)) +
geom_point() +
theme_bw() +
theme(axis.text.x=element_text(size=rel(0.5), angle=90))
Menggunakan "isi" atribut membantu dalam kasus-kasus seperti ini. Anda dapat menghapus teks dari axis menggunakan element_blank()
dan menunjukkan multi warna bar chart dengan legenda. Saya merencanakan sebuah bagian penghapusan frekuensi di bengkel seperti di bawah ini
ggplot(data=df_subset,aes(x=Part,y=Removal_Frequency,fill=Part))+geom_bar(stat="identity")+theme(axis.text.x = element_blank())
Aku pergi untuk solusi ini dalam kasus saya karena saya telah banyak bar di bar chart dan saya tidak dapat menemukan yang cocok ukuran huruf yang mudah dibaca dan juga cukup kecil untuk tidak saling tumpang tindih.
Ketika membuat banyak plot, masuk akal untuk mengatur hal itu secara global (bagian yang relevan adalah baris kedua, tiga garis yang sama adalah contoh kerja):
library('ggplot2')
theme_update(text = element_text(size=20))
ggplot(mpg, aes(displ, hwy, colour = class)) + geom_point()