Mengoptimalkan Visualisasi dengan Scatter Plot di Matplotlib

Mengoptimalkan Visualisasi dengan Scatter Plot di Matplotlib

Dalam analisis data, visualisasi adalah salah satu cara yang paling efektif untuk memahami dan mengekstrak informasi dari dataset. Salah satu jenis visualisasi yang paling populer dan bermacam-macam fungsi adalah scatter plot. Dalam artikel ini, kita akan membahas cara mengoptimalkan visualisasi dengan scatter plot di Matplotlib.

Membuat Scatter Plot Dasar

scatter plot dasar dapat dibuat menggunakan fungsi plt.scatter() dari library Matplotlib. Contoh sederhana berikut menunjukkan bagaimana membuat scatter plot untuk dataset iris:

import matplotlib.pyplot as plt

# Load the iris dataset
from sklearn.datasets import load_iris
iris = load_iris()
# Extract data for sepal length and petal length
sepal_length = iris.data[:, 0]
petal_length = iris.data[:, 1]
# Species labels (encoded numbers)
species = iris.target
# Color map for different species
cmap = plt.cm.get_cmap("viridis")
# Define marker shapes based on species (optional)
markers = ["o", "s", "^"]
# Create the scatter plot with customizations
plt.scatter(
 sepal_length,
 petal_length,
 c=cmap(species),
 s=50,
 alpha=0.7,
 linewidths=0,
 marker='>'
)

# Add labels, title, and grid
plt.xlabel("Sepal Length (cm)")
plt.ylabel("Petal Length (cm)")
plt.title("Sepal Length vs. Petal Length in Iris Dataset (Colored by Species)")
plt.grid(True)
# Show the plot
plt.show()

Output:

Menambahkan Annotation dan Text

Annotation dan text dapat membantu memahami scatter plot lebih baik. Matplotlib menyediakan berbagai fitur untuk menambahkan annotation dan text ke dalam plot, sehingga kita dapat mengidentifikasi titik data khusus atau memberikan informasi tambahan. Mari kita lihat bagaimana cara menggunakan fitur ini:

import matplotlib.pyplot as plt

# ... (code above)

# Add annotations to specific points (optional)
# Choose data points and text for annotations
annotate_indices = [0, 50, 100]  # Modify these indices as needed
annotate_texts = ["Species 0", "Species 1", "Species 2"]
for i, text in zip(annotate_indices, annotate_texts):
 plt.annotate(
 text,
 xy=(sepal_length[i], petal_length[i]),
 xytext=(10, 10),  # Offset for placement
 textcoords="offset points",
 fontsize=8,
 arrowprops=dict(facecolor="red", arrowstyle="->"),
)

# ... (code above)

Menghandle Multiple Group

Dalam kasus nyata, kita seringkali menemui dataset dengan multiple group atau kategori. Visualisasi multiple group dalam scatter plot dapat membantu kita membandingkan hubungan antara variabel dan mengidentifikasi pola grup. Matplotlib menyediakan beberapa teknik untuk menghandle multiple group dalam scatter plot, seperti menggunakan warna atau simbol berbeda untuk setiap grup.

Contoh:

import matplotlib.pyplot as plt

# Sample data (modify as needed)
groups = ["Group A", "Group B", "Group C"]
x_data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y_data = [[4, 6, 7], [2, 3, 5], [8, 5, 7]]

# Create the plot
plt.figure(figsize=(8, 6))  # Adjust figure size if needed

# Loop through groups and plot data points
for i, group in enumerate(groups):
 plt.scatter(x_data[i], y_data[i], label=group, marker='o', alpha=0.7)

# Add labels, title, and legend
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Scatter Plot with Multiple Groups")
plt.legend()

# Grid (optional)
plt.grid(True)

# Show the plot
plt.show()

Kesimpulan

Dalam artikel ini, kita telah membahas cara mengoptimalkan visualisasi dengan scatter plot di Matplotlib. Kita telah mengetahui cara membuat scatter plot dasar, menambahkan annotation dan text, serta menghandle multiple group dalam scatter plot. Dengan pengetahuan ini, Anda siap untuk menciptakan scatter plot yang efektif untuk memvisualisasikan insights dari data Anda.

Jika Anda mencari kursus Python online, maka coba explore: Learn Python for Data Science

Leave a comment