Menghasilkan Scatterplot dengan Kategori menggunakan Matplotlib

Menghasilkan Scatterplot dengan Kategori menggunakan Matplotlib

Scatterplot adalah salah satu alat visualisasi yang paling berguna untuk mewakili hubungan antara dua variabel numerik. Dalam tutorial ini, kita akan belajar bagaimana membuat scatterplot dengan kategori menggunakan Matplotlib.

Cara Pertama: Membuat List Warna

Pertama-tama, kita perlu membuat list warna yang sesuai untuk masing-masing record, sesuai dengan kategorinya. Kita dapat melakukan ini dengan menggunakan sintaks berikut:

colors=[]
for i in sales.jenis:
 if i == 'A': colors.append('red')
 if i == 'B': colors.append('blue')
 if i == 'C': colors.append('green')

Setelah membuat list warna, kita dapat menggunakan list tersebut sebagai parameter color pada fungsi scatter().

Cara Pertama: Membuat Scatterplot dengan Kategori

Kita dapat membuat scatterplot dengan kategori menggunakan sintaks berikut:

fig, ax = plt.subplots()
ax.scatter(sales.penjualan, sales.harga, color=colors, s=sales.berat)
ax.set(xlabel='Penjualan', ylabel='Harga', title='Scatterplot dengan Kategori')
plt.show()

Dengan menggunakan cara ini, kita hanya perlu memanggil fungsi scatter() satu kali saja.

Cara Kedua: Membuat Scatterplot untuk Tiap Nilai Kolom Jenis

Pada cara ke 2, kita akan memanggil fungsi scatter() sebanyak 3 kali untuk tiap nilai kolom jenis. Sebelumnya, kita kelompokkan terlebih dahulu data sales berdasar jenis.

salesA = sales[sales.jenis == 'A']
salesB = sales[sales.jenis == 'B']
salesC = sales[sales.jenis == 'C']

Kemudian masing-masing kelompok data tersebut kita plot di axes yang sama.

fig, ax = plt.subplots()
ax.scatter(salesA.penjualan, salesA.harga, color='red', s=salesA.berat)
ax.scatter(salesB.penjualan, salesB.harga, color='blue', s=salesB.berat)
ax.scatter(salesC.penjualan, salesC.harga, color='green', s=salesC.berat)
ax.set(xlabel='Penjualan', ylabel='Harga', title='Scatterplot dengan Kategori')
plt.show()

Menambahkan Legend pada Scatterplot

Legend dalam scatterplot yang berisi variabel kategorikal sangat penting untuk membantu dalam interpretasi visualisasi.

Untuk menambahkan legend, kita dapat menggunakan sintaks berikut:

fig, ax = plt.subplots()
ax.scatter(salesA.penjualan, salesA.harga, label='A',
 color='red', s=salesA.berat)
ax.scatter(salesB.penjualan, salesB.harga, label='B',
 color='blue', s=salesB.berat)
ax.scatter(salesC.penjualan, salesC.harga, label='C',
 color='green', s=salesC.berat)

ax.set(xlabel='Penjualan', ylabel='Harga', title='Scatterplot dengan Legend')
ax.legend(title='Jenis')

plt.show()

Mengantisipasi Overlap

Tumpang tindih (overlapping) pada scatterplot dapat mengurangi kejelasan dan interpretabilitas. Salah satu cara efektif untuk mengatasi masalah ini adalah dengan menggunakan parameter alpha dalam Matplotlib.

Parameter alpha dalam Matplotlib mengatur transparansi dari elemen plot. Nilai alpha berkisar dari 0 (transparan total) hingga 1 (tidak transparan sama sekali).

Kita dapat menggunakan sintaks berikut untuk membuat scatterplot dengan overlap:

fig, ax = plt.subplots()
ax.scatter(x, y, alpha=0.5)

ax.set(xlabel='Sumbu X', ylabel='Sumbu Y', title='Scatterplot dengan Overlap')
plt.show()

Penutup

Scatterplot adalah alat yang sangat berguna untuk visualisasi hubungan antara dua variabel numerik. Dengan menggunakan Matplotlib, kita dapat membuat scatterplot yang sederhana maupun yang kompleks dengan berbagai kustomisasi seperti warna, ukuran, dan label.

Selamat belajar dan mencoba!

Leave a comment