Scatter plot adalah salah satu jenis grafik yang paling umum digunakan untuk menerjawakan hubungan antara dua variabel. Dalam tutorial ini, kita akan belajar cara membuat scatter plot menggunakan library Matplotlib di Python.
Membuat Data
Pertama-tama, kita perlu membuat data yang akan kita gunakan untuk membuat scatter plot. Kita dapat menggunakan library NumPy untuk mengenerate data secara random.
import numpy as np
np.random.seed(3)
x = 4 + np.random.normal(0, 2, 24)
y = 4 + np.random.normal(0, 2, len(x))
Membuat Scatter Plot
Selanjutnya, kita akan membuat scatter plot menggunakan fungsi scatter
dari library Matplotlib.
import matplotlib.pyplot as plt
plt.style.use('_mpl-gallery')
fig, ax = plt.subplots()
ax.scatter(x, y, s=sizes, c=colors, vmin=0, vmax=100)
Kita juga dapat menentukan ukuran marker dan warna yang digunakan untuk scatter plot.
sizes = np.random.uniform(15, 80, len(x))
colors = np.random.uniform(15, 80, len(x))
Menambahkan Label dan Aksesoris
Selain itu, kita dapat menambahkan label dan aksesoris lainnya ke scatter plot untuk membuatnya lebih rinci.
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
Membuat Galeri
Akhirnya, kita dapat membuat galeri scatter plot yang dapat dijalankan secara otomatis.
plt.show()
Scatterplot Generator – Statology
Dalam dunia statistik, scatter plot juga digunakan untuk menerjawakan hubungan antara dua variabel. Namun, membuat scatter plot dapat menjadi pekerjaan yang rumit, terutama jika Anda tidak memiliki pengalaman dalam menggambar grafik.
Oleh karena itu, Statology telah menciptakan Scatterplot Generator, sebuah alat yang dapat membantu Anda membuat scatter plot dengan mudah. Anda hanya perlu memasukkan nilai variabel X dan Y, kemudian klik tombol "Generate Scatterplot".
Membuat Subset dari Data
Dalam beberapa kasus, kita mungkin ingin membuat subset dari data untuk menunjukkan bagaimana hubungan antara dua variabel berbeda. Salah satu cara untuk melakukannya adalah dengan menggunakan fungsi select_subset
yang kita buat sendiri.
import matplotlib.pyplot as plt
import numpy as np
SIZE = 100
SAMPLE_SIZE = 10
def select_subset(seq, size):
return seq[:size]
points_x = np.random.uniform(-1, 1, size=SIZE)
points_y = np.random.uniform(-1, 1, size=SIZE)
plt.scatter(points_x, points_y, marker=".", color="blue")
plt.scatter(select_subset(points_x, SAMPLE_SIZE),
select_subset(points_y, SAMPLE_SIZE),
marker="o", color="red")
plt.show()
Kita dapat menggunakan mask untuk membuat subset dari data dan meninggalkan data asli tidak berubah.
import matplotlib.pyplot as plt
import numpy as np
import random
SIZE = 100
SAMPLE_SIZE = 10
def make_mask(data_size, sample_size):
mask = np.array([True] * sample_size + [False ] * (data_size - sample_size))
np.random.shuffle(mask)
return mask
points_x = np.random.uniform(-1, 1, size=SIZE)
points_y = np.random.uniform(-1, 1, size=SIZE)
mask = make_mask(SIZE, SAMPLE_SIZE)
not_mask = np.invert(mask)
plt.scatter(points_x[not_mask], points_y[not_mask], marker=".", color="blue")
plt.scatter(points_x[mask], points_y[mask], marker="o", color="red")
plt.show()
Dengan demikian, kita dapat membuat scatter plot yang lebih rinci dan memperlihatkan hubungan antara dua variabel dengan mudah.