Membuat Scatter Plot Menggunakan Data dengan Kategori yang Berbeda
Daftar Isi | |
---|---|
1. | Menyiapkan Data per Kategori |
2. | Membuat Figure dan Axis Matplotlib |
3. | Mengatur Elemen Grafik |
4. | Script Lengkap |
Menyiapkan Data per Kategori
Seperti yang diketahui, Scatter Plot membutuhkan 2 array untuk diplot pada sumbu x dan sumbu y. Karena sekarang akan dibuat scatter plot untuk 2 kategori, jadi dibutuhkan 4 buah array. Misalnya, x_laki, y_laki, x_perempuan, y_perempuan.
Array tersebut akan diekstrak dari data tips. Kira-kira seperti ini caranya:
2 import matplotlib.pyplot as plt
3
4 data = sns.load_dataset("tips")
5
6 female = data[data["sex"] == "Female"]
7 x_fem = female["total_bill"].values
8 y_fem = female["tip"].values
9
10 male = data[data["sex"] == "Male"]
11 x_mal = male["total_bill"].values
12 y_mal = male["tip"].values
Oke mari kita bahas. Pertama, import modul yang dibutuhkan, matplotlib dan seaborn. Matplotlib digunakan untuk membuat scatter plot, dan seaborn digunakan untuk memuat dataset yang akan diplot.
Data diload pada baris ke 4. Pada tutorial ini digunakan dataset "tips", yang berisi data-data tentang jumlah tip yang diberikan saat belanja. Data yang diload bertipe pandas dataframe.
Seperti yang sudah dijelaskan, akan diplot data "total_bill" dan "tip" pada data laki-laki dan perempuan. Data "total_bill" diplot pada sumbu x, dan disimpan pada variabel x. Data "tip" diplot pada sumbu y dan disimpan pada variabel y.
Baris 6 hingga 8 menunjukkan proses ekstraksi data perempuan, atau dalam data ditulis sebagai "Female". Untuk membedakan laki-laki dan perempuan, variabel perempuan diberi nama x_fem dan y_fem.
Baris 10 hingga 12 menunjukkan ekstraksi data kategori laki-laki atau "male". Sama seperti sebelumnya, data tersebut disimpan pada variabel x_mal dan y_mal
Membuat Figure dan Axis Matplotlib
Seperti yang sudah dibahas pada artikel elemen grafik matplotlib, figure dan axis akan dibuat bersamaan. Jangan lupa, import dulu matplotlib sebelum membuat grafik.
14
15 ax.scatter(x_mal, y_mal, c="r", label="Male")
16 ax.scatter(x_fem, y_fem, c="b", label="Female")
Membuat scatter plot dilakukan menggunakan method .scatter(). Beberapa argumen yang dimasukkan antara lain:
- legend: Karena ada 2 scatterplot dalam 1 axis, maka harus diberi label mana grafik yang mana.
- color: Digunakan untuk membedakan warna dari masing-masing scatter plot.
Mengatur Elemen Grafik
18 ax.set_xlabel("Total Bill", labelpad=15)
19 ax.set_ylabel("Tip", labelpad=15)
20 ax.legend()
21
22 plt.show()
Judul, label, dan legend adalah bagian dari axis. Sehingga untuk menambahkannya dilakukan pada axis yang disimpan pada variabel ax.
Baris 17 digunakan untuk menambahkan judul pada grafik. Ditambahkan pad=15 agar ada jarak antara axis dengan judul.
Baris 18 dan 19 digunakan untuk menambahkan label pada sumbu x dan sumbu y. Untuk menambahkan jarak, ditambahkan attribute labelpad.
Dan yang terakhir pada baris 20, gunakan method .legend() untuk menampilkan label yang sudah ditambahkan pada statement pembuatan scatter plot. Jangan lupa tambahkan method plt.show() untuk menampilkan grafik.
Ketika script python ini di-run, maka muncul grafik seperti ini:
Dengan sedikit modifikasi, scatter plot dapat digunakan untuk menjelaskan berbagai data.
Script Lengkap
2 import matplotlib.pyplot as plt
3
4 data = sns.load_dataset("tips")
5
6 female = data[data["sex"] == "Female"]
7 x_fem = female["total_bill"].values
8 y_fem = female["tip"].values
9
10 male = data[data["sex"] == "Male"]
11 x_mal = male["total_bill"].values
12 y_mal = male["tip"].values
13
14 fig, ax = plt.subplots()
15
16 ax.scatter(x_mal, y_mal, c="r", label="Male")
17 ax.scatter(x_fem, y_fem, c="b", label="Female")
18
19 ax.set_title("Total Bill vs Tip", pad=15)
20 ax.set_xlabel("Total Bill", labelpad=15)
21 ax.set_ylabel("Tip", labelpad=15)
22 ax.legend()
23
24 plt.show()
Posting Komentar untuk "Membuat Scatter Plot Menggunakan Data dengan Kategori yang Berbeda"