Cara membuat skala logaritma di ggplot2


Seringkali Anda mungkin ingin mengonversi skala sumbu x atau sumbu y dari plot ggplot2 menjadi skala logaritmik.

Anda dapat menggunakan salah satu dari dua metode untuk melakukan ini hanya dengan menggunakan ggplot2:

1. Gunakan scale_y_continuous() atau scale_x_continuous()

 ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  scale_y_continuous(trans=' log10 ') +
  scale_x_continuous(trans=' log10 ')

2. Gunakan koordinat_trans()

 ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  coord_trans(y = ' log10 ' , x=' log10 ')

Jika Anda ingin memformat label sumbu untuk menampilkan eksponen, Anda dapat menggunakan fungsi dalam paket skala :

 ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  scale_y_continuous(trans=' log10 ',
                     breaks= trans_breaks (' log10 ', function (x) 10^x),
                     labels= trans_format (' log10 ', math_format (10^.x)))

Tutorial ini menunjukkan contoh cara menggunakan fungsi-fungsi ini dalam praktik.

Contoh 1: Skala logaritma menggunakan scale_y_continuous()

Kode berikut menunjukkan cara menggunakan fungsi scale_y_continuous() untuk membuat skala logaritmik untuk sumbu y dari plot sebar:

 library (ggplot2)

#create data frame
df <- data.frame(x=c(2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y=c(1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

#create scatterplot with log scale on y-axis
ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  scale_y_continuous(trans=' log10 ')

Skala logaritmik pada sumbu y ggplot2

Contoh 2: skala logaritmik menggunakan coord_trans()

Kode berikut menunjukkan cara menggunakan fungsi coord_trans() untuk membuat skala logaritmik untuk sumbu y dari plot sebar:

 library (ggplot2)

#create data frame
df <- data.frame(x=c(2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y=c(1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

#create scatterplot with log scale on y-axis
ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  coord_trans(y=' log10 ') 

ggplot2 skala logaritmik

Contoh 3: Label skala logaritmik khusus

Kode berikut menunjukkan cara menggunakan fungsi dalam paket skala untuk membuat skala logaritmik untuk sumbu y dari plot sebar dan menambahkan label khusus dengan eksponen:

 library (ggplot2)
library (scales)

#create data frame
df <- data.frame(x=c(2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y=c(1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

#create scatterplot with log scale on y-axis and custom labels
ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  scale_y_continuous(trans=' log10 ',
                     breaks= trans_breaks (' log10 ', function (x) 10^x),
                     labels= trans_format (' log10 ', math_format (10^.x))) 

Skala logaritmik dengan eksponen di ggplot2

Perhatikan bahwa label sumbu Y memiliki eksponen, tidak seperti dua plot sebelumnya.

Sumber daya tambahan

Panduan lengkap untuk judul ggplot2
Panduan lengkap tema ggplot2 terbaik
Cara membuat plot berdampingan di ggplot2

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *