Matplotlib vs. ggplot2: welches sollten sie verwenden?


Zwei der beliebtesten Datenvisualisierungsbibliotheken in der gesamten Datenwissenschaft sind ggplot2 und Matplotlib .

Die ggplot2- Bibliothek wird in der statistischen Programmiersprache R verwendet, während Matplotlib in Python verwendet wird.

Obwohl Sie mit beiden Bibliotheken hochgradig angepasste Datenvisualisierungen erstellen können, können Sie dies mit ggplot2 im Allgemeinen im Vergleich zu Matplotlib mit weniger Codezeilen tun.

Um diesen Punkt zu veranschaulichen, zeigen wir, wie man mit beiden Bibliotheken die gleichen Diagrammtypen erstellt.

Liniendiagramme: ggplot2 vs. Matplotlib

Der folgende Code zeigt, wie man mit ggplot2 ein Liniendiagramm erstellt:

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

Und der folgende Code zeigt, wie man mit Matplotlib dasselbe Liniendiagramm erstellt:

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

In diesem Beispiel ist die Anzahl der Codezeilen, die zum Generieren jedes Diagramms erforderlich sind, zwischen ggplot2 und Matplotlib ungefähr gleich.

Streudiagramme: ggplot2 versus Matplotlib

Der folgende Code zeigt, wie man in ggplot2 ein Streudiagramm erstellt, in dem die Punkte nach Kategorie gefärbt sind:

 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 ) 

Und der folgende Code zeigt, wie man mit Matplotlib dasselbe Streudiagramm erstellt:

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

Beachten Sie, dass wir in Matplotlib viel mehr Codezeilen verwenden mussten, um denselben Plot wie ggplot2 zu generieren.

Histogramme: ggplot2 vs. Matplotlib

Der folgende Code zeigt, wie man ein Histogramm in ggplot2 erstellt:

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

Und der folgende Code zeigt, wie man mit Matplotlib ein ähnliches Histogramm erstellt:

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

Auch hier erfordert die Matplotlib-Version mehr Codezeilen als ggplot2.

Abschluss

Mit ggplot2 und Matplotlib können Sie hochgradig anpassbare Datenvisualisierungen erstellen, ggplot2 verwendet jedoch tendenziell weniger Code.

Oft hängt die Präferenz zwischen ggplot2 und Matplotlib einfach von der Programmiersprache ab, die Sie für die Datenanalyse verwenden.

Menschen, die Python verwenden, neigen dazu, Matplotlib zu verwenden, weil sie ihre Datenanalysen durchführen und Datenvisualisierungen mit einer einzigen Programmiersprache erstellen können.

Umgekehrt verwenden Benutzer von R tendenziell ggplot2, da sie damit alle Datenanalysen und Visualisierungen in einer einzigen Programmiersprache durchführen können.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert