आर में बार चार्ट और हिस्टोग्राम (उदाहरण के साथ)

बार चार्ट x-अक्ष में श्रेणीबद्ध चरों को प्रदर्शित करने का एक शानदार तरीका है। इस प्रकार का ग्राफ y-अक्ष में दो पहलुओं को दर्शाता है।

  1. पहला समूह के बीच घटनाओं की संख्या की गणना करता है।
  2. दूसरा, y-अक्ष में एक चर का सारांश सांख्यिकी (न्यूनतम, अधिकतम, औसत, इत्यादि) दिखाता है।

आप mtcars डेटासेट का उपयोग निम्नलिखित चरों के साथ करेंगे:

  • सिलेंडर: कार में सिलेंडर की संख्या। संख्यात्मक चर
  • am: ट्रांसमिशन का प्रकार। ऑटोमैटिक के लिए 0 और मैनुअल के लिए 1। संख्यात्मक चर
  • mpg: मील प्रति गैलन। संख्यात्मक चर

बार चार्ट कैसे बनाएं

ग्राफ बनाने के लिए 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()

Code व्याख्या

  • आप डेटासेट mtcars को ggplot में पास करते हैं।
  • Aes() तर्क के अंदर, आप x-अक्ष को एक कारक चर (सिलेंडर) के रूप में जोड़ते हैं
  • + चिह्न का मतलब है कि आप चाहते हैं कि R कोड को पढ़ता रहे। यह कोड को तोड़कर उसे अधिक पठनीय बनाता है।
  • ज्यामितीय ऑब्जेक्ट के लिए geom_bar() का उपयोग करें।

आउटपुट:

बार चार्ट: गिनती

नोट: सुनिश्चित करें कि आप चर को फ़ैक्टर में बदलें अन्यथा 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()

Code व्याख्या

  • बार के रंगों को aes() मैप द्वारा नियंत्रित किया जाता है।ping ज्यामितीय ऑब्जेक्ट के अंदर (यानी ggplot() में नहीं)। आप fill आर्गुमेंट्स का उपयोग करके रंग बदल सकते हैं। यहाँ, आप मूंगा रंग चुनते हैं।

आउटपुट:

बार्स का रंग बदलें

आप इस कोड का उपयोग कर सकते हैं:

grDevices::colors()

आर में उपलब्ध सभी रंगों को देखने के लिए यहां क्लिक करें। इसमें लगभग 650 रंग हैं।

तीव्रता बदलें

आप बार के रंग की तीव्रता को बढ़ा या घटा सकते हैं

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

Code व्याख्या

  • बार की तीव्रता को बढ़ाने/घटाने के लिए, आप अल्फा का मान बदल सकते हैं। बड़ा अल्फा तीव्रता को बढ़ाता है, और कम अल्फा तीव्रता को कम करता है। अल्फा 0 से 1 तक होता है। यदि 1 है, तो रंग पैलेट के समान है। यदि 0 है, तो रंग सफेद है। आप अल्फा = 0.1 चुनें।

आउटपुट:

तीव्रता बदलें

समूहों के अनुसार रंग

आप बार के रंग बदल सकते हैं, यानी हर समूह के लिए एक अलग रंग। उदाहरण के लिए, cyl वैरिएबल में तीन लेवल हैं, तो आप तीन रंगों के साथ बार चार्ट बना सकते हैं।

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

Code व्याख्या

  • aes() के अंदर fill तर्क बार का रंग बदलने की अनुमति देता है। आप fill = x-axis variable सेट करके रंग बदलते हैं। आपके उदाहरण में, x-axis variable cyl है; fill = Factor(cyl)

आउटपुट:

समूहों के अनुसार रंग

बार में एक समूह जोड़ें

आप y-अक्ष को किसी अन्य कारक स्तर के आधार पर विभाजित कर सकते हैं। उदाहरण के लिए, आप सिलेंडर के प्रकार के आधार पर ऑटोमैटिक और मैनुअल ट्रांसमिशन की संख्या की गणना कर सकते हैं।

आप निम्न प्रकार आगे बढ़ेंगे:

  • चरण 1: mtcars डेटासेट के साथ डेटा फ़्रेम बनाएँ
  • चरण 2: स्वचालित ट्रांसमिशन के लिए am वैरिएबल को auto और मैन्युअल ट्रांसमिशन के लिए man लेबल करें। am और cyl को फ़ैक्टर के रूप में बदलें ताकि आपको ggplot() फ़ंक्शन में फ़ैक्टर() का उपयोग करने की आवश्यकता न पड़े।
  • चरण 3: सिलेंडर द्वारा ट्रांसमिशन की संख्या की गणना करने के लिए बार चार्ट बनाएं
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()

Code व्याख्या

  • ggpplot() में डेटासेट डेटा और aes() शामिल हैं।
  • aes() में आप x-अक्ष चर को शामिल करते हैं तथा बार को भरने के लिए कौन सा चर आवश्यक है (अर्थात am)
  • geom_bar(): बार चार्ट बनाएं

आउटपुट:

बार्स में एक समूह जोड़ें

नक्शाping बार को दो रंगों से भरा जाएगा, प्रत्येक स्तर के लिए एक रंग। डेटासेट में अन्य कारक चर चुनकर समूह को बदलना बहुत आसान है।

प्रतिशत में बार चार्ट

आप बार को कच्ची गणना के बजाय प्रतिशत में देख सकते हैं।

# प्रतिशत में बार चार्ट

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

Code व्याख्या

  • y-अक्ष में प्रतिशत के साथ ग्राफ़िक बनाने के लिए geom_bar() तर्क में position = “fill” का उपयोग करें।

आउटपुट:

प्रतिशत में बार चार्ट

अगल-बगल पट्टियाँ

समूह चर को साथ-साथ रखकर बार चार्ट बनाना आसान है।

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

Code व्याख्या

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

Code व्याख्या

  • aes() में अब दो चर हैं। cyl चर x-अक्ष को संदर्भित करता है, और mean_mpg y-अक्ष है।
  • आपको y-अक्ष में चर को संख्यात्मक मान के रूप में संदर्भित करने के लिए stat=”identity” तर्क पास करना होगा। geom_bar डिफ़ॉल्ट मान के रूप में stat=”bin” का उपयोग करता है।

आउटपुट:

हिस्टोग्राम

चरण 3) अभिविन्यास बदलें

आप ग्राफ का अभिविन्यास ऊर्ध्वाधर से क्षैतिज में बदलते हैं।

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

Code व्याख्या

  • आप coord_flip() के साथ ग्राफ के अभिविन्यास को नियंत्रित कर सकते हैं।

आउटपुट:

हिस्टोग्राम

चरण 4) रंग बदलें

आप x-अक्ष चर के कारक स्तर के अनुसार सलाखों के रंगों में अंतर कर सकते हैं।

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

Code व्याख्या

  • आप fill= cyl मैप का उपयोग करके समूहों द्वारा ग्राफ़ प्लॉट कर सकते हैं।pingR सिलेंडर चर के स्तरों के आधार पर रंगों का स्वचालित रूप से ध्यान रखता है।

आउटपुट:

हिस्टोग्राम

चरण 5) आकार बदलें

ग्राफ को अधिक सुंदर बनाने के लिए आप बार की चौड़ाई कम कर देते हैं।

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

Code व्याख्या

  • geom_bar() के अंदर width तर्क बार के आकार को नियंत्रित करता है। बड़ा मान चौड़ाई को बढ़ाता है।
  • ध्यान दें, आप ग्राफ को वेरिएबल ग्राफ में स्टोर करते हैं। आप ऐसा इसलिए करते हैं क्योंकि अगले चरण में वेरिएबल ग्राफ का कोड नहीं बदलेगा। इससे कोड की पठनीयता में सुधार होता है।

आउटपुट:

हिस्टोग्राम

चरण 6) ग्राफ़ में लेबल जोड़ें

अंतिम चरण में लेबल में चर mean_mpg का मान जोड़ना शामिल है।

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

Code व्याख्या

  • geom_text() फ़ंक्शन पाठ की सौंदर्यात्मकता को नियंत्रित करने के लिए उपयोगी है।
    • लेबल=: बार के अंदर एक लेबल जोड़ें
    • mean_mpg: लेबल के लिए variable mean_mpg का उपयोग करें
  • hjust लेबल के स्थान को नियंत्रित करता है। 1 के करीब मान लेबल को बार के शीर्ष पर प्रदर्शित करता है, और उच्च मान लेबल को नीचे लाता है। यदि ग्राफ़ का अभिविन्यास लंबवत है, तो hjust को vjust में बदलें।
  • color=”white”: टेक्स्ट का रंग बदलें। यहाँ आप सफ़ेद रंग का उपयोग करते हैं।
  • आकार=3: पाठ का आकार निर्धारित करें.

आउटपुट:

हिस्टोग्राम

सारांश

बार चार्ट तब उपयोगी होता है जब x-अक्ष एक श्रेणीबद्ध चर होता है। y-अक्ष या तो गिनती या सारांश सांख्यिकी हो सकता है। नीचे दी गई तालिका ggplot2 के साथ बार चार्ट को नियंत्रित करने के तरीके को सारांशित करती है:

उद्देश्य Code
गिनती
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")

इस पोस्ट को संक्षेप में इस प्रकार लिखें: