دليل كامل لأفضل موضوعات ggplot2
يوفر هذا البرنامج التعليمي دليلاً كاملاً لأفضل سمات ggplot2، بما في ذلك:
- كيفية تغيير مظهر المؤامرات باستخدام سمات ggplot2 المضمنة.
- كيفية تغيير مظهر المؤامرات باستخدام سمات محددة مسبقًا من مكتبة ggthemes .
- كيفية تحرير مكونات محددة للسمة، بما في ذلك خلفية لوحة المسار وخطوط الشبكة.
كيفية تغيير مظهر الحبكة باستخدام سمات ggplot2 المضمنة
لكل من الأمثلة التالية، سوف نستخدم القزحية من مجموعة بيانات R المضمنة:
#view first six rows of iris dataset
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
أولاً، سنقوم بتحميل مكتبة ggplot2 وإنشاء مخطط تشتت يُظهر Sepal.Length على المحور x و Sepal.Width على المحور y، ملونًا وفقًا للأنواع:
#load ggplot2 library library(ggplot2) #create scatterplot ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point()
بعد ذلك، سنوضح كيف يؤثر كل من سمات ggplot2 المضمنة على مظهر الحبكة.
grey_theme
السمة الافتراضية، بخلفية رمادية وشبكة بيضاء.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_gray()
bw_theme
موضوع أسود على أبيض.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_bw()
theme_linedraw
سمة تحتوي فقط على خطوط سوداء ذات عروض مختلفة على خلفية بيضاء.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_linedraw()
theme_light
سمة مشابهة لـ theme_linedraw ولكن بخطوط ومحاور رمادية مصممة لجذب المزيد من الانتباه إلى البيانات.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_light()
dark_theme
سمة مشابهة لـ theme_light ، ولكن بخلفية داكنة. موضوع مفيد لإبراز الخطوط الملونة الجميلة.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_dark()
mini_theme
موضوع بدون شروح الخلفية.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_minimal()
classic_theme
موضوع بدون شبكات.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_classic()
theme_void
موضوع فارغ تماما.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_void()
كيفية تغيير مظهر المؤامرات باستخدام سمات محددة مسبقًا من مكتبة ggthemes
بالإضافة إلى استخدام سمات ggplot2 المضمنة، يمكننا استخدام السمات المحددة مسبقًا من مكتبة ggthemes لتغيير جماليات الحبكات.
أولاً، سنقوم بتحميل مكتبة ggthemes:
library(ggthemes)
وسنعرض بعد ذلك بعض الأمثلة على استخدام السمات المحددة مسبقًا لتعديل جماليات الحبكات:
theme_wsj
موضوع من صحيفة وول ستريت جورنال.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_wsj()
theme_tufte
موضوع بسيط مستوحى من عمل الإحصائي إدوارد توفت.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_tufte()
Solarized_theme
سمة تستخدم الألوان بناءً على Solarized Palette .
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_solarized()
لاحظ أنه يمكننا أيضًا استخدام الوسيطة light = FALSE لاستخدام خلفية داكنة على المخطط:
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_solarized( light = FALSE )
theme_gdocs
سمة ذات الإعدادات الافتراضية لمخطط مستندات Google.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_gdocs()
theme_fivethirtyeight
موضوع مستوحى من مؤامرات موقع fivethirtyeight.com .
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_fivethirtyeight()
theme_economist
موضوع مستوحى من مجلة الإيكونوميست.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_economist()
كيفية تحرير مكونات محددة من المؤامرات
يمكننا استخدام الدالتين theme() و element_rect() لتغيير لون خلفية لوحة الرسم:
theme(panel.background = element_rect(fill, color, size))
- تعبئة: تعبئة اللون للمستطيل
- اللون: لون الحدود
- الحجم: حجم الحدود
يمكننا أيضًا استخدام الدالة element_line() لتغيير حجم الشبكة ومظهرها:
theme(panel.grid.major = element_line(color, size, linetype), panel.grid.minor = element_line(color, size, linetype))
- اللون: لون الحدود
- الحجم: حجم الحدود
- نوع الخط: نوع الخط (“فارغ”، “متواصل”، “شرطة”، “منقط”، “شرطة نقطية”، “شرطة طويلة”، “شرطتان”)
يوضح التعليمة البرمجية التالية كيفية إزالة حدود لوحة الرسم وخطوط الشبكة:
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme(panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
يوضح التعليمة البرمجية التالية كيفية تغيير خلفية لوحة الرسم وخطوط الشبكة:
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point() + theme( panel.background = element_rect(fill = "powderblue", color = "powderblue", size = 0.5, linetype = "solid"), panel.grid.major = element_line(size = 0.5, linetype = 'solid', color = "white"), panel.grid.minor = element_line(size = 0.25, linetype = 'solid', color = "white") )