Matplotlib vs ggplot2: qual você deve usar?


Duas das bibliotecas de visualização de dados mais populares em toda a ciência de dados são ggplot2 e Matplotlib .

A biblioteca ggplot2 é usada na linguagem de programação estatística R, enquanto Matplotlib é usada em Python.

Embora ambas as bibliotecas permitam criar visualizações de dados altamente personalizadas, o ggplot2 geralmente permite fazer isso com menos linhas de código em comparação com o Matplotlib.

Para ilustrar este ponto, mostraremos como criar os mesmos tipos de gráficos usando ambas as bibliotecas.

Gráficos de linhas: ggplot2 vs Matplotlib

O código a seguir mostra como criar um gráfico de linhas usando 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 ')

E o código a seguir mostra como criar o mesmo gráfico de linhas usando 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 ') 

Para este exemplo, o número de linhas de código necessárias para gerar cada gráfico é aproximadamente o mesmo entre ggplot2 e Matplotlib.

Gráficos de dispersão: ggplot2 versus Matplotlib

O código a seguir mostra como criar um gráfico de dispersão em ggplot2 no qual os pontos são coloridos por categoria:

 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 ) 

E o código a seguir mostra como criar o mesmo gráfico de dispersão usando 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 ')

Observe que tivemos que usar muito mais linhas de código no Matplotlib para gerar o mesmo gráfico do ggplot2.

Histogramas: ggplot2 vs Matplotlib

O código a seguir mostra como criar um histograma em 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 ') 

E o código a seguir mostra como criar um histograma semelhante usando 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 ') 

Mais uma vez, a versão Matplotlib requer mais linhas de código que o ggplot2.

Conclusão

ggplot2 e Matplotlib permitem criar visualizações de dados altamente personalizáveis, mas ggplot2 tende a usar menos código.

Freqüentemente, a preferência entre ggplot2 e Matplotlib depende simplesmente da linguagem de programação usada para análise de dados.

Pessoas que usam Python tendem a usar Matplotlib porque podem fazer análises de dados e criar visualizações de dados usando uma única linguagem de programação.

Por outro lado, as pessoas que usam R tendem a usar ggplot2 porque permite fazer todas as análises e visualizações de dados em uma única linguagem de programação.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *