Membuat Scatterplot dengan Kategori menggunakan Matplotlib

Membuat Scatterplot dengan Kategori menggunakan Matplotlib

Dalam visualisasi data, scatterplot adalah salah satu alat yang sangat berguna untuk menampilkan 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 menggunakan loop for untuk melakukan hal ini.

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

Selanjutnya, kita gunakan list tersebut sebagai parameter color pada fungsi scatter(). Dengan cara ini, kita hanya perlu memanggil fungsi scatter() satu kali saja.

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()

Cara Kedua: Membuat Scatterplot untuk Tiap Nilai Kolom Jenis

Pada cara kedua, 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 kategori sangat penting untuk membantu dalam interpretasi visualisasi. Untuk menambahkan legend, kita perlu setting parameter label pada fungsi scatter() dan kemudian memanggil fungsi legend().

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 mengatur transparansi dari elemen plot. Nilai alpha berkisar dari 0 (transparan total) hingga 1 (tidak transparan sama sekali).

# data random
np.random.seed(1)
x = np.random.rand(400)
y = np.random.rand(400)

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()

Pengumpulan

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.

Simak juga tutorial-tutorial lainnya :

  • Visualisasi Dengan Matplotlib : Pie Chart
  • Visualisasi Dengan Matplotlib – Membuat Bar Chart
  • Visualisasi Dengan Matplotlib – Membuat Scatterplot untuk Tiap Nilai Kolom Jenis
  • Menambahkan Legend pada Scatterplot

Leave a comment