Matplotlib vs ggplot2: hangisini kullanmalısınız?


Tüm veri bilimindeki en popüler veri görselleştirme kitaplıklarından ikisi ggplot2 ve Matplotlib’dir .

R istatistiksel programlama dilinde ggplot2 kütüphanesi kullanılırken Python’da Matplotlib kullanılır.

Her iki kitaplık da son derece özelleştirilmiş veri görselleştirmeleri oluşturmanıza olanak tanısa da, ggplot2 genellikle Matplotlib’e kıyasla daha az kod satırıyla bunu yapmanıza olanak tanır.

Bu noktayı açıklamak için, her iki kitaplığı kullanarak aynı türde grafiklerin nasıl oluşturulacağını göstereceğiz.

Çizgi grafikler: ggplot2 ve Matplotlib

Aşağıdaki kod, ggplot2 kullanarak çizgi grafiğinin nasıl oluşturulacağını gösterir:

 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 ')

Aşağıdaki kod, Matplotlib kullanılarak aynı çizgi grafiğinin nasıl oluşturulacağını gösterir:

 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 ') 

Bu örnekte, her grafiği oluşturmak için gereken kod satırı sayısı ggplot2 ve Matplotlib arasında yaklaşık olarak aynıdır.

Dağılım grafikleri: ggplot2 ve Matplotlib

Aşağıdaki kod, ggplot2’de noktaların kategoriye göre renklendirildiği bir dağılım grafiğinin nasıl oluşturulacağını gösterir:

 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 ) 

Aşağıdaki kod, Matplotlib kullanılarak aynı dağılım grafiğinin nasıl oluşturulacağını gösterir:

 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 ile aynı çizimi oluşturmak için Matplotlib’de çok daha fazla kod satırı kullanmamız gerektiğini unutmayın.

Histogramlar: ggplot2 ve Matplotlib

Aşağıdaki kod ggplot2’de histogramın nasıl oluşturulacağını gösterir:

 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 ') 

Aşağıdaki kod Matplotlib kullanılarak benzer bir histogramın nasıl oluşturulacağını gösterir:

 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 ') 

Bir kez daha Matplotlib sürümü ggplot2’den daha fazla kod satırı gerektiriyor.

Çözüm

ggplot2 ve Matplotlib son derece özelleştirilebilir veri görselleştirmeleri oluşturmanıza olanak tanır, ancak ggplot2 daha az kod kullanma eğilimindedir.

Çoğunlukla ggplot2 ve Matplotlib arasındaki tercih, veri analizi için kullandığınız programlama diline bağlıdır.

Python kullanan kişiler, tek bir programlama dili kullanarak veri analizini yapabildikleri ve veri görselleştirmeleri oluşturabildikleri için Matplotlib’i kullanma eğilimindedirler.

Tersine, R kullanan kişiler ggplot2’yi kullanma eğilimindedir çünkü bu onların tüm veri analizini ve görselleştirmelerini tek bir programlama dilinde yapmalarına olanak tanır.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir