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!