Matplotlib vs ggplot2: mana yang harus anda gunakan?
Dua perpustakaan visualisasi data paling populer di seluruh ilmu data adalah ggplot2 dan Matplotlib .
Pustaka ggplot2 digunakan dalam bahasa pemrograman statistik R sedangkan Matplotlib digunakan dalam Python.
Meskipun kedua pustaka memungkinkan Anda membuat visualisasi data yang sangat disesuaikan, ggplot2 umumnya memungkinkan Anda melakukannya dengan lebih sedikit baris kode dibandingkan dengan Matplotlib.
Untuk mengilustrasikan hal ini, kami akan menunjukkan cara membuat tipe bagan yang sama menggunakan kedua perpustakaan.
Bagan garis: ggplot2 vs Matplotlib
Kode berikut menunjukkan cara membuat diagram garis menggunakan 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 ')
Dan kode berikut menunjukkan cara membuat diagram garis yang sama menggunakan 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 ')
Untuk contoh ini, jumlah baris kode yang diperlukan untuk menghasilkan setiap plot kira-kira sama antara ggplot2 dan Matplotlib.
Plot sebar: ggplot2 versus Matplotlib
Kode berikut menunjukkan cara membuat scatterplot di ggplot2 yang titik-titiknya diwarnai berdasarkan kategori:
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 )
Dan kode berikut menunjukkan cara membuat scatterplot yang sama menggunakan 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 ')
Perhatikan bahwa kami harus menggunakan lebih banyak baris kode di Matplotlib untuk menghasilkan plot yang sama seperti ggplot2.
Histogram: ggplot2 vs Matplotlib
Kode berikut menunjukkan cara membuat histogram di 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 ')
Dan kode berikut menunjukkan cara membuat histogram serupa menggunakan 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 ')
Sekali lagi versi Matplotlib memerlukan lebih banyak baris kode daripada ggplot2.
Kesimpulan
ggplot2 dan Matplotlib memungkinkan Anda membuat visualisasi data yang sangat dapat disesuaikan, namun ggplot2 cenderung menggunakan lebih sedikit kode.
Seringkali preferensi antara ggplot2 dan Matplotlib bergantung pada bahasa pemrograman yang Anda gunakan untuk analisis data.
Orang yang menggunakan Python cenderung menggunakan Matplotlib karena mereka dapat melakukan analisis data dan membuat visualisasi data menggunakan satu bahasa pemrograman.
Sebaliknya, orang yang menggunakan R cenderung menggunakan ggplot2 karena memungkinkan mereka melakukan semua analisis dan visualisasi data dalam satu bahasa pemrograman.