Ggplot2 में एकाधिक पंक्तियाँ कैसे प्लॉट करें (उदाहरण के साथ)


आप ggplot2 में एकाधिक पंक्तियाँ प्लॉट करने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:

 ggplot(df, aes(x=x_var, y=y_var)) + 
  geom_line(aes(color=group_var)) +
  scale_color_manual(name=' legend_title ', labels=c(' lab1 ', ' lab2 ', ' lab3 '),
                     values=c(' color1 ', ' color2 ', ' color3 '))

यह विशेष सिंटैक्स ggplot2 में तीन पंक्तियों के साथ एक प्लॉट बनाता है।

यह सिंटैक्स मानता है कि आपका डेटा फ़्रेम लंबे प्रारूप में है।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में ggplot2 में एकाधिक पंक्तियाँ कैसे प्लॉट की जाती हैं।

उदाहरण: ggplot2 में अनेक पंक्तियाँ प्लॉट करना

मान लीजिए कि हमारे पास आर में निम्नलिखित डेटा फ्रेम है जिसमें पांच अलग-अलग दिनों में तीन अलग-अलग दुकानों में की गई बिक्री की संख्या के बारे में जानकारी है:

 #create data frame
df <- data. frame (day=c(1, 2, 3, 4, 5),
                 storeA=c(5, 6, 8, 8, 9),
                 storeB=c(3, 3, 4, 5, 7),
                 storeC=c(8, 10, 12, 12, 17))

#view data frame
df

  day storeA storeB storeC
1 1 5 3 8
2 2 6 3 10
3 3 8 4 12
4 4 8 5 12
5 5 9 7 17

यह डेटा फ़्रेम वर्तमान में विस्तृत प्रारूप में है।

हालाँकि, हम डेटा को शीघ्रता से लंबे प्रारूप में परिवर्तित करने के लिए Tidyr पैकेज से pivot_longer() फ़ंक्शन का उपयोग कर सकते हैं:

 library (tidyr)

#convert data from wide to long format
df <- df %>% pivot_longer(cols=c(' storeA ', ' storeB ', ' storeC '),
                          names_to=' store ',
                          values_to=' sales ')

#view updated data frame
df

# A tibble: 15 x 3
     day store sales
      
 1 1 blindA 5
 2 1 storeB 3
 3 1 blindC 8
 4 2 blindA 6
 5 2 storeB 3
 6 2 storeC 10
 7 3 storeA 8
 8 3 storeB 4
 9 3 storeC 12
10 4 storeA 8
11 4 storeB 5
12 4 storeC 12
13 5 storeA 9
14 5 storeB 7
15 5 storeC 17

संबंधित: R में pivot_longer() का परिचय

अब जबकि डेटा फ़्रेम लंबे प्रारूप में है, हम प्रत्येक स्टोर की बिक्री को प्लॉट करने के लिए ggplot2 के साथ निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 library (ggplot2)

#plot sales by store
ggplot(df, aes(x=day, y=sales)) + 
  geom_line(aes(color=store)) +
  scale_color_manual(name=' Store ', labels=c(' A ', ' B ', ' C '),
values=c(' red ', ' purple ', ' steelblue '))

अलग-अलग पंक्तियाँ प्रत्येक दिन प्रत्येक दुकान पर की गई बिक्री को प्रदर्शित करती हैं।

ध्यान दें कि हमने पंक्तियों की व्याख्या को आसान बनाने के लिए प्लॉट के दाईं ओर एक कस्टम लेजेंड बनाने के लिए स्केल_कलर_मैनुअल() फ़ंक्शन का उपयोग किया था।

एक लेजेंड बनाने के लिए इस फ़ंक्शन के तर्कों को बेझिझक संशोधित करें जो बिल्कुल वैसे ही दिखाई दे जैसे आप चाहते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि ggplot2 में अन्य सामान्य कार्य कैसे करें:

Ggplot2 में माध्य और मानक विचलन कैसे प्लॉट करें
Ggplot2 का उपयोग करके प्लॉट में क्षैतिज रेखा कैसे जोड़ें
Ggplot2 में ट्रेंड लाइन कैसे बनाएं

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *