كيفية إنشاء مقياس لوغاريتمي في ggplot2


غالبًا ما قد ترغب في تحويل مقياس المحور السيني أو المحور الصادي لمخطط ggplot2 إلى مقياس لوغاريتمي.

يمكنك استخدام إحدى الطريقتين للقيام بذلك باستخدام ggplot2 فقط:

1. استخدمscale_y_continious() أوscale_x_continious()

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

2. استخدم format_trans()

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

إذا كنت تريد تنسيق تسميات المحاور لعرض الأسس، فيمكنك استخدام الوظائف الموجودة في حزمة المقاييس :

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

يوضح هذا البرنامج التعليمي أمثلة على كيفية استخدام هذه الوظائف عمليًا.

مثال 1: المقياس اللوغاريتمي باستخدام Scale_y_continious()

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة scale_y_continious() لإنشاء مقياس لوغاريتمي للمحور y لمخطط مبعثر:

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

مقياس لوغاريتمي على المحور y لـ ggplot2

المثال 2: المقياس اللوغاريتمي باستخدام coord_trans()

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة coord_trans() لإنشاء مقياس لوغاريتمي للمحور y لمخطط مبعثر:

 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

مثال 3: تسميات المقياس اللوغاريتمي المخصصة

يوضح التعليمة البرمجية التالية كيفية استخدام الوظائف في حزمة المقاييس لإنشاء مقياس لوغاريتمي للمحور y لمخطط التشتت وإضافة تسميات مخصصة مع الأسس:

 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

لاحظ أن تسميات المحور Y لها أسس، على عكس المخططين السابقين.

مصادر إضافية

الدليل الكامل لعناوين ggplot2
دليل كامل لأفضل موضوعات ggplot2
كيفية إنشاء قطع أرض جنبًا إلى جنب في ggplot2

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *