مخطط شريطي ورسم بياني باللغة R (مع مثال)

يعد المخطط الشريطي طريقة رائعة لعرض المتغيرات الفئوية في المحور السيني. يشير هذا النوع من الرسم البياني إلى جانبين في المحور الصادي.

  1. الأول يحسب عدد مرات الظهور بين المجموعات.
  2. يعرض الثاني ملخصًا إحصائيًا (الحد الأدنى والحد الأقصى والمتوسط ​​وما إلى ذلك) لمتغير في المحور ص.

سوف تستخدم مجموعة بيانات mtcars التي تحتوي على المتابعةwing المتغيرات:

  • cyl: رقم الاسطوانة في السيارة. متغير رقمي
  • صباحا: نوع transmission. 0 للتلقائي و 1 لليدوي. متغير رقمي
  • ميلا في الغالون: ميلا لكل جالون. متغير رقمي

كيفية إنشاء مخطط شريطي

لإنشاء رسم بياني في Rيمكنك استخدام مكتبة ggplot التي تقوم بإنشاء رسوم بيانية جاهزة للنشر. بناء الجملة الأساسي لهذه المكتبة هو:

ggplot(data, mapping = aes()) +
geometric object 

arguments: 
data: dataset used to plot the graph 
mapping: Control the x and y-axis 
geometric object: The type of plot you want to show. The most common objects are:

- Point: `geom_point()`
- Bar: `geom_bar()`
- Line: `geom_line()`
- Histogram: `geom_histogram()` 

في هذا البرنامج التعليمي، أنت مهتم بالكائن الهندسي Geom_bar() الذي يقوم بإنشاء المخطط الشريطي.

الرسم البياني الشريطي: العد

يوضح الرسم البياني الأول تردد الأسطوانة باستخدام Geom_bar(). الكود أدناه هو بناء الجملة الأساسي.

library(ggplot2)
# Most basic bar chart
ggplot(mtcars, aes(x = factor(cyl))) +
    geom_bar()

شرح الكود

  • يمكنك تمرير مجموعة البيانات mtcars إلى ggplot.
  • داخل الوسيطة aes()، يمكنك إضافة المحور x كمتغير عامل (cyl)
  • تعني العلامة + أنك تريد من R الاستمرار في قراءة الكود. يجعل الكود أكثر قابلية للقراءة عن طريق كسره.
  • استخدم Geom_bar() للكائن الهندسي.

الإخراج:

الرسم البياني الشريطي: العد

ملاحظات: تأكد من تحويل المتغيرات إلى عامل آخرwise R يعامل المتغيرات كأرقام. انظر المثال أدناه.

الرسم البياني الشريطي: العد

تخصيص الرسم البياني

يمكن تمرير أربع وسائط لتخصيص الرسم البياني:

- `stat`: Control the type of formatting. By default, `bin` to plot a count in the y-axis. For continuous value, pass `stat = "identity"`
- `alpha`: Control density of the color
- `fill`: Change the color of the bar
- `size`: Control the size the bar	

تغيير لون الأشرطة

يمكنك تغيير لون الأشرطة. لاحظ أن ألوان الأشرطة كلها متشابهة.

# Change the color of the bars
ggplot(mtcars, aes(x = factor(cyl))) +
    geom_bar(fill = "coral") +
    theme_classic()

شرح الكود

  • يتم التحكم في ألوان الأشرطة عن طريق تعيين aes() داخل الكائن الهندسي (أي ليس في ggplot()). يمكنك تغيير اللون باستخدام وسيطات التعبئة. هنا اخترت اللون المرجاني.

الإخراج:

تغيير لون الأشرطة

يمكنك استخدام هذا الرمز:

grDevices::colors()

لرؤية جميع الألوان المتوفرة في R. هناك حوالي 650 لونًا.

تغيير الشدة

يمكنك زيادة أو تقليل شدة لون الأشرطة

# Change intensity
ggplot(mtcars,
        aes(factor(cyl))) +
    geom_bar(fill = "coral",
        alpha = 0.5) +
    theme_classic()

شرح الكود

  • لزيادة/تقليل شدة الشريط، يمكنك تغيير قيمة ألفا. تزيد ألفا الكبيرة من الشدة، بينما تقلل ألفا المنخفضة من الشدة. يتراوح ألفا من 0 إلى 1. إذا كان 1، فإن اللون هو نفس اللوحة. إذا كان 0، اللون أبيض. اخترت ألفا = 0.1.

الإخراج:

تغيير الشدة

اللون حسب المجموعات

يمكنك تغيير ألوان الأشرطة، أي لون واحد مختلف لكل مجموعة. على سبيل المثال، يحتوي متغير cyl على ثلاثة مستويات، ثم يمكنك رسم المخطط الشريطي بثلاثة ألوان.

# Color by group
ggplot(mtcars, aes(factor(cyl),
        fill = factor(cyl))) +
    geom_bar()

شرح الكود

  • تسمح الوسيطة fill الموجودة داخل aes() بتغيير لون الشريط. يمكنك تغيير اللون عن طريق تعيين ملء = متغير المحور السيني. في المثال الخاص بك، متغير المحور السيني هو cyl؛ ملء = عامل (سيل)

الإخراج:

اللون حسب المجموعات

إضافة مجموعة في الأشرطة

يمكنك أيضًا تقسيم المحور الصادي بناءً على مستوى عامل آخر. على سبيل المثال، يمكنك حساب عدد التلقائي واليدوي transmission على أساس نوع الاسطوانة.

سوف تتصرف على النحو التالي:

  • الخطوة 1: إنشاء إطار البيانات باستخدام مجموعة بيانات mtcars
  • الخطوة 2: قم بتسمية المتغير am بـ auto لـ تلقائي transmission والرجل للدليل transmission. قم بتحويل am وcyl كعامل بحيث لا تحتاج إلى استخدام العامل() في الدالة ggplot().
  • الخطوة 3: ارسم المخطط الشريطي لحساب عدد العناصر transmission بواسطة اسطوانة
library(dplyr)
# Step 1
data <- mtcars % > % 
#Step 2
mutate(am = factor(am, labels = c("auto", "man")),
    cyl = factor(cyl))

لديك مجموعة البيانات جاهزة، يمكنك رسم الرسم البياني؛

# الخطوة 3

ggplot(data, aes(x = cyl, fill = am)) +
    geom_bar() +
    theme_classic()

شرح الكود

  • يحتوي ggpplot() على بيانات مجموعة البيانات وaes().
  • في aes() قمت بتضمين المتغير x-axis والمتغير المطلوب لملء الشريط (أي am)
  • Geom_bar (): إنشاء المخطط الشريطي

الإخراج:

أضف مجموعة في الحانات

سوف يملأ التعيين الشريط بلونين، واحد لكل مستوى. من السهل تغيير المجموعة عن طريق اختيار متغيرات العوامل الأخرى في مجموعة البيانات.

الرسم البياني الشريطي بالنسبة المئوية

يمكنك تصور الشريط بالنسبة المئوية بدلاً من العدد الأولي.

# الرسم البياني الشريطي بالنسبة المئوية

ggplot(data, aes(x = cyl, fill = am)) +
    geom_bar(position = "fill") +
    theme_classic()

شرح الكود

  • استخدم الموضع = "ملء" في الوسيطة Geom_bar() لإنشاء رسم بنسبة مئوية في المحور y.

الإخراج:

الرسم البياني الشريطي بالنسبة المئوية

جنبا إلى جنب القضبان

من السهل رسم المخطط الشريطي مع متغير المجموعة جنبًا إلى جنب.

# Bar chart side by side
ggplot(data, aes(x = cyl, fill = am)) +
    geom_bar(position = position_dodge()) +
    theme_classic()

شرح الكود

  • Position=position_dodge(): يوضح بوضوح كيفية ترتيب الأشرطة

الإخراج:

جنبا إلى جنب الحانات

الرسم البياني

في الجزء الثاني من البرنامج التعليمي للمخطط الشريطي، يمكنك تمثيل مجموعة المتغيرات بقيم في المحور y.

هدفك هو إنشاء رسم بياني يوضح متوسط ​​الميل لكل جالون لكل نوع من الأسطوانات. لرسم رسم بياني إعلامي، ستتبع الخطوات التالية:

  • الخطوة 1: قم بإنشاء متغير جديد بمتوسط ​​ميل لكل جالون لكل أسطوانة
  • الخطوة 2: إنشاء الرسم البياني الأساسي
  • الخطوة 3: تغيير الاتجاه
  • الخطوة 4: تغيير اللون
  • الخطوة 5: تغيير الحجم
  • الخطوة 6: إضافة تسميات إلى الرسم البياني

الخطوة 1) قم بإنشاء متغير جديد

يمكنك إنشاء إطار بيانات يسمى data_histogram والذي يقوم ببساطة بإرجاع متوسط ​​الأميال لكل جالون من خلال عدد الأسطوانات في السيارة. يمكنك استدعاء هذا المتغير الجديدmean_mpg، وتقريب المتوسط ​​برقمين عشريين.

# الخطوة 1

data_histogram <- mtcars % > %
mutate(cyl = factor(cyl)) % > %
group_by(cyl) % > %
summarize(mean_mpg = round(mean(mpg), 2))

الخطوة 2) قم بإنشاء رسم بياني أساسي

يمكنك رسم الرسم البياني. إنه ليس جاهزًا للتواصل ليتم تسليمه إلى العميل ولكنه يمنحنا فكرة عن الاتجاه.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +
    geom_bar(stat = "identity")

شرح الكود

  • لدى aes() الآن متغيرين. يشير متغير cyl إلى المحور x، وmean_mpg هو المحور y.
  • تحتاج إلى تمرير الوسيطة stat=”identity” لإحالة المتغير الموجود في المحور y كقيمة عددية. يستخدم Geom_bar stat=”bin” كقيمة افتراضية.

الإخراج:

الرسم البياني

الخطوة 3) تغيير الاتجاه

يمكنك تغيير اتجاه الرسم البياني من العمودي إلى الأفقي.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +
    geom_bar(stat = "identity") +
    coord_flip()

شرح الكود

  • يمكنك التحكم في اتجاه الرسم البياني باستخدام coord_flip().

الإخراج:

الرسم البياني

الخطوة 4) غيّر اللون

يمكنك التمييز بين ألوان الأشرطة وفقًا لمستوى العامل لمتغير المحور السيني.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +
    geom_bar(stat = "identity") +
    coord_flip() +
    theme_classic()

شرح الكود

  • يمكنك رسم الرسم البياني حسب المجموعات باستخدام رسم الخرائط fill= cyl. يعتني R تلقائيًا بالألوان بناءً على مستويات متغير الأسطوانات

الإخراج:

الرسم البياني

الخطوة 5) قم بتغيير الحجم

لجعل الرسم البياني يبدو أجمل، يمكنك تقليل عرض الشريط.

graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +
    geom_bar(stat = "identity",
        width = 0.5) +
    coord_flip() +
    theme_classic()

شرح الكود

  • تتحكم وسيطة العرض داخل Geom_bar() في حجم الشريط. القيمة الأكبر تزيد من العرض.
  • لاحظ أنك تقوم بتخزين الرسم البياني في الرسم البياني المتغير. يمكنك القيام بذلك لأن الخطوة التالية لن تغير رمز الرسم البياني المتغير. أنه يحسن إمكانية قراءة التعليمات البرمجية.

الإخراج:

الرسم البياني

الخطوة 6) إضافة تسميات إلى الرسم البياني

تتمثل الخطوة الأخيرة في إضافة قيمة المتغير mean_mpg في الملصق.

graph +
    geom_text(aes(label = mean_mpg),
        hjust = 1.5,
        color = "white",
        size = 3) +
    theme_classic()

شرح الكود

  • الدالة Geom_text() مفيدة للتحكم في جمالية النص.
    • التسمية =: إضافة تسمية داخل الأشرطة
    • mean_mpg: استخدم المتغير mean_mpg للتسمية
  • يتحكم فقط في موقع الملصق. تعرض القيم المغلقة عند 1 التسمية في الجزء العلوي من الشريط، بينما تقوم القيم الأعلى بإحضار التسمية إلى الأسفل. إذا كان اتجاه الرسم البياني عموديًا، فقم بتغيير hjust إلى vjust.
  • اللون = ”أبيض“: تغيير لون النص. هنا تستخدم اللون الأبيض.
  • الحجم = 3: ضبط حجم النص.

الإخراج:

الرسم البياني

نبذة عامة

يكون المخطط الشريطي مفيدًا عندما يكون المحور السيني متغيرًا قاطعًا. يمكن أن يكون المحور ص عبارة عن عدد أو إحصائية ملخصة. يلخص الجدول أدناه كيفية التحكم في المخطط الشريطي باستخدام ggplot2:

هدف رمز
العد التنازلي
ggplot(df, eas(x= factor(x1)) + geom_bar()
العد بألوان مختلفة من التعبئة
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar()
العد مع مجموعات، مكدسة
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())
العد مع المجموعات، جنبا إلى جنب
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar()
العد مع المجموعات، مكدسة بنسبة %
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())
القيم
ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity")