Matplotlib बनाम ggplot2: आपको किसका उपयोग करना चाहिए?
संपूर्ण डेटा विज्ञान में दो सबसे लोकप्रिय डेटा विज़ुअलाइज़ेशन लाइब्रेरी ggplot2 और Matplotlib हैं।
Ggplot2 लाइब्रेरी का उपयोग R सांख्यिकीय प्रोग्रामिंग भाषा में किया जाता है जबकि Matplotlib का उपयोग Python में किया जाता है।
हालाँकि दोनों लाइब्रेरी आपको अत्यधिक अनुकूलित डेटा विज़ुअलाइज़ेशन बनाने की अनुमति देती हैं, लेकिन ggplot2 आम तौर पर आपको Matplotlib की तुलना में कोड की कम पंक्तियों के साथ ऐसा करने की अनुमति देता है।
इस बिंदु को स्पष्ट करने के लिए, हम दिखाएंगे कि दोनों पुस्तकालयों का उपयोग करके समान प्रकार के चार्ट कैसे बनाएं।
लाइन चार्ट: ggplot2 बनाम Matplotlib
निम्नलिखित कोड दिखाता है कि ggplot2 का उपयोग करके लाइन चार्ट कैसे बनाया जाए:
library (ggplot2) #create data frame df <- data. frame (day=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), sales=c(2, 4, 5, 8, 6, 12, 15, 19, 15, 22)) #create line chart ggplot(df, aes(x=day, y=sales)) + geom_line(size= 1.2 , col=' purple ') + ggtitle(' Sales by Day ') + xlab(' Day ') + ylab(' Sales ')
और निम्नलिखित कोड दिखाता है कि Matplotlib का उपयोग करके समान लाइन चार्ट कैसे बनाया जाए:
import pandas as pd import matplotlib. pyplot as plt #createDataFrame df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ' sales ': [2, 4, 5, 8, 6, 12, 15, 19, 15, 22]}) #create line chart plt. plot (df. day , df. sales , color=' purple ') plt. title (' Sales by Day ', loc=' left ') plt. ylabel (' Sales ') plt. xlabel (' Day ')
इस उदाहरण के लिए, प्रत्येक प्लॉट को उत्पन्न करने के लिए आवश्यक कोड की पंक्तियों की संख्या ggplot2 और Matplotlib के बीच लगभग समान है।
स्कैटरप्लॉट: ggplot2 बनाम Matplotlib
निम्नलिखित कोड दिखाता है कि ggplot2 में स्कैटरप्लॉट कैसे बनाया जाए जिसमें बिंदु श्रेणी के अनुसार रंगीन होते हैं:
library (ggplot2) #create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), assists=c(1, 2, 2, 4, 5, 7, 8, 10), points=c(4, 6, 10, 8, 12, 15, 22, 28)) #create scatterplot ggplot(df, aes(x=assists, y=points)) + geom_point(aes(col=team), size= 3 )
और निम्नलिखित कोड दिखाता है कि Matplotlib का उपयोग करके समान स्कैटरप्लॉट कैसे बनाया जाए:
import pandas as pd import matplotlib. pyplot as plt #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' assists ': [1, 2, 2, 4, 5, 7, 8, 10], ' points ': [4, 6, 10, 8, 12, 15, 22, 28]}) #define colors to use color_list = [] for x in df[' team ']: if x == ' A ': color_list. append (' #F8766D ') else : color_list. append (' #00BFC4 ') #create scatterplot plt. scatter (df. assists , df. points , c=color_list) plt. ylabel (' points ') plt. xlabel (' assists ')
ध्यान दें कि हमें ggplot2 के समान प्लॉट बनाने के लिए Matplotlib में कोड की कई और पंक्तियों का उपयोग करना पड़ा।
हिस्टोग्राम: ggplot2 बनाम Matplotlib
निम्नलिखित कोड दिखाता है कि ggplot2 में हिस्टोग्राम कैसे बनाया जाए:
library (ggplot2) #create data frame df <- data. frame (x=c(2, 2, 4, 4, 4, 5, 5, 6, 7, 7, 8, 8, 10, 11, 11, 11, 12, 13, 14, 14)) #create scatterplot ggplot(df, aes(x=x)) + geom_histogram(bins= 6 , fill=' red ', color=' black ') + ggtitle(' My Histogram ')
और निम्नलिखित कोड दिखाता है कि Matplotlib का उपयोग करके एक समान हिस्टोग्राम कैसे बनाया जाए:
import pandas as pd import matplotlib. pyplot as plt #createDataFrame df = pd. DataFrame ({' x ': [2, 2, 4, 4, 4, 5, 5, 6, 7, 7, 8, 8, 10, 11, 11, 11, 12, 13, 14, 14]}) #create histogram plt. hist (df[' x '], bins= 6 , color=' red ', ec=' black ') plt. title (' My Histogram ', loc=' left ') plt. xlabel (' x ') plt. ylabel (' Count ')
एक बार फिर Matplotlib संस्करण को ggplot2 की तुलना में कोड की अधिक पंक्तियों की आवश्यकता होती है।
निष्कर्ष
ggplot2 और Matplotlib आपको उच्च अनुकूलन योग्य डेटा विज़ुअलाइज़ेशन बनाने की अनुमति देते हैं, लेकिन ggplot2 कम कोड का उपयोग करता है।
अक्सर ggplot2 और Matplotlib के बीच प्राथमिकता केवल उस प्रोग्रामिंग भाषा पर निर्भर करती है जिसका उपयोग आप डेटा विश्लेषण के लिए करते हैं।
जो लोग पायथन का उपयोग करते हैं वे मैटप्लोटलिब का उपयोग करते हैं क्योंकि वे अपना डेटा विश्लेषण कर सकते हैं और एक ही प्रोग्रामिंग भाषा का उपयोग करके डेटा विज़ुअलाइज़ेशन बना सकते हैं।
इसके विपरीत, जो लोग R का उपयोग करते हैं वे ggplot2 का उपयोग करते हैं क्योंकि यह उन्हें एक ही प्रोग्रामिंग भाषा में अपने सभी डेटा विश्लेषण और विज़ुअलाइज़ेशन करने की अनुमति देता है।