Ggplot2'de logaritmik ölçek nasıl oluşturulur


Çoğunlukla bir ggplot2 grafiğinin x ekseninin veya y ekseninin ölçeğini logaritmik ölçeğe dönüştürmek isteyebilirsiniz.

Bunu yalnızca ggplot2 kullanarak yapmak için iki yöntemden birini kullanabilirsiniz:

1. Scale_y_continuous() veya Scale_x_continuous() işlevini kullanın

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

2. koordinat_trans() işlevini kullanın

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

Eksen etiketlerini üsleri gösterecek şekilde biçimlendirmek istiyorsanız ölçekler paketindeki işlevleri kullanabilirsiniz:

 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)))

Bu eğitimde bu işlevlerin pratikte nasıl kullanılacağına ilişkin örnekler gösterilmektedir.

Örnek 1: Scale_y_continuous() yöntemini kullanan logaritmik ölçek

Aşağıdaki kod, bir dağılım grafiğinin y ekseni için logaritmik bir ölçek oluşturmak amacıyla Scale_y_continuous() işlevinin nasıl kullanılacağını gösterir:

 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 ')

ggplot2'nin y ekseninde logaritmik ölçek

Örnek 2: coord_trans() kullanarak logaritmik ölçek

Aşağıdaki kod, bir dağılım grafiğinin y ekseni için logaritmik bir ölçek oluşturmak üzere coord_trans() işlevinin nasıl kullanılacağını gösterir:

 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 ') 

Logaritmik ölçek ggplot2

Örnek 3: Özel logaritmik ölçek etiketleri

Aşağıdaki kod, bir dağılım grafiğinin y ekseni için logaritmik bir ölçek oluşturmak ve üslü özel etiketler eklemek için ölçekler paketindeki işlevlerin nasıl kullanılacağını gösterir:

 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))) 

Ggplot2'de üslü logaritmik ölçek

Önceki iki grafikten farklı olarak Y ekseni etiketlerinin üslere sahip olduğunu unutmayın.

Ek kaynaklar

Ggplot2 başlıklarına ilişkin eksiksiz kılavuz
En iyi ggplot2 temaları için eksiksiz bir rehber
Ggplot2’de yan yana grafikler nasıl oluşturulur

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir