كيفية تغيير ترتيب الجوانب في ggplot2 (مع مثال)
يمكنك استخدام بناء الجملة الأساسي التالي لتحديد ترتيب الأوجه في ggplot2:
p+
facet_grid(~factor(my_variable, levels=c(' val1 ', ' val2 ', ' val3 ', ...)))
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: تغيير ترتيب الأوجه في ggplot2
لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
points=c(8, 14, 20, 22, 25, 29, 30, 31),
assists=c(10, 5, 5, 3, 8, 6, 9, 12))
#view data frame
df
team points assists
1 to 8 10
2 to 14 5
3 B 20 5
4 B 22 3
5 C 25 8
6 C 29 6
7 D 30 9
8 D 31 12
يوضح التعليمة البرمجية التالية كيفية استخدام facet_grid() لإنشاء شبكة تعرض مخططًا مبعثرًا للمساعدات مقابل النقاط لكل فريق:
library (ggplot2)
#create multiple scatter plots using facet_grid
ggplot(df, aes (assists, points)) +
geom_point() +
facet_grid(.~team)
افتراضيًا، يقوم ggplot2 بترتيب مخططات التشتت بناءً على القيم التي تظهر أولاً في متغير فريق إطار البيانات.
ومع ذلك، يمكننا تحويل الفريق إلى متغير عامل واستخدام وسيطة المستويات لتحديد الترتيب الذي يجب وضع الفرق به في المخطط:
library (ggplot2)
#create multiple scatter plots using facet_grid with specific order
ggplot(df, aes (assists, points)) +
geom_point() +
facet_grid(~factor(team, levels=c(' C ', ' D ', ' A ', ' B ')))
لاحظ أن السحب النقطية مرتبة الآن وفقًا للترتيب الذي حددناه في وسيطة المستويات : C، D، A، B.
تتمثل ميزة استخدام هذا النهج في أننا لا نغير البيانات الأساسية فعليًا.
بدلاً من ذلك، نقوم فقط بتغيير المستويات في الدالة facet_grid() .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في ggplot2:
كيفية تغيير حجم الخط في ggplot2
كيفية إزالة وسيلة إيضاح في ggplot2
كيفية تدوير تسميات المحور في ggplot2