Berikut artikel tentang cara membuat lebih dari satu plot scatter_matrix dalam grafik yang sama di Python dengan menggunakan library pandas dan matplotlib.
Title: Membuat Grafik Scatter Matrix Multiple untuk Data Multivariabel
Pada umumnya, scatter matrix digunakan untuk menampilkan hubungan antara dua atau lebih variabel yang memiliki nilai numerik. Namun, dalam beberapa kasus, kita perlu membuat grafik scatter matrix multiple untuk data multivariabel. Pada artikel ini, kami akan membahas cara membuat grafik scatter matrix multiple dengan menggunakan library pandas dan matplotlib.
Permasalahan
Saat membuat grafik scatter matrix dengan fungsi scatter_matrix()
dari library pandas, kita dapat menemukan permasalahan yang terkait dengan input data 2D-array of axes. Permasalahan ini timbul karena fungsi tersebut tidak dapat bekerja dengan array 2D-axis yang diberikan.
Solusi
Untuk mengatasi permasalahan di atas, kami akan membuat fungsi create_plot()
sendiri yang berbasis pada fungsi scatter_matrix()
asli. Dengan menggunakan fungsi ini, kita dapat memiliki lebih banyak kontrol terhadap plot yang dibuat dan dapat membuat grafik scatter matrix multiple dengan mudah.
Contoh
Berikut adalah contoh kode Python yang digunakan untuk membuat grafik scatter matrix multiple:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(2020)
dat = pd.DataFrame({'x%i' % ii: np.random.uniform(-1, 1, 100) for ii in range(3)})
dat2 = pd.DataFrame({'x%i' % ii: np.random.uniform(0, 1, 100) for ii in range(3)})
def create_plot(axes, df=None, diagonal="hist", density_kwds=None, hist_kwds=None, marker='.', alpha=0.5, color="blue", **kwds):
# ...
Dalam fungsi create_plot()
, kita dapat memilih jenis plot yang akan dibuat (diagonal, histogram, atau density) dan juga memilih warna plot.
Kemudian, kita dapat membuat grafik scatter matrix multiple dengan menggunakan fungsi create_plot()
:
fig = plt.figure(figsize=(5, 5))
n = dat.columns.size
print(f"-- creating a {n}x{n} matrix of plots --")
axes = {}
gs = mpl.gridspec.GridSpec(n, n,
left=0.12, right=.97,
bottom=0.12,top=.97,
wspace=0,hspace=0,
)
for i, a in enumerate(dat.columns):
for j, b in enumerate(dat.columns):
axes[i, j] = plt.subplot(gs[i, j])
create_plot(axes, df=dat, color="blue")
create_plot(axes, df=dat2, color="red")
plt.show()
Dalam contoh di atas, kita membuat grafik scatter matrix multiple untuk dua dataset yang berbeda dengan menggunakan fungsi create_plot()
. Grafik tersebut menampilkan hubungan antara dua atau lebih variabel dan juga dapat digunakan untuk menganalisis data multivariabel.
Kesimpulan
Dalam artikel ini, kami telah membahas cara membuat grafik scatter matrix multiple dengan menggunakan library pandas dan matplotlib. Dengan menggunakan fungsi create_plot()
yang dibuat sendiri, kita dapat memiliki lebih banyak kontrol terhadap plot yang dibuat dan dapat membuat grafik scatter matrix multiple dengan mudah.