Menggunakan Plot untuk Plot Taburan Kategori
Dalam panduan ini, kami berhasrat untuk menangani isu biasa apabila mencipta plot serakan dalam Python menggunakan Panda dan matplotlib. Secara khusus, kami akan meneroka cara untuk menetapkan simbol khusus kepada kategori berbeza dalam data.
Masalahnya
Memandangkan Pandas DataFrame dengan berbilang lajur, matlamatnya adalah untuk mencipta plot taburan di mana dua pembolehubah diplot di sepanjang paksi x dan y, manakala lajur ketiga menentukan simbol yang digunakan untuk mewakili data mata.
Penyelesaian: Menggunakan Plot
Walaupun taburan boleh digunakan untuk tugasan ini, ia memerlukan nilai berangka untuk kategori, yang mengehadkan keberkesanannya. Pendekatan yang lebih baik ialah menggunakan fungsi plot untuk kategori diskret.
Contoh kod berikut menunjukkan cara melaksanakan pendekatan ini:
import matplotlib.pyplot as plt import numpy as np import pandas as pd np.random.seed(1974) # Generate Data num = 20 x, y = np.random.random((2, num)) labels = np.random.choice(['a', 'b', 'c'], num) df = pd.DataFrame(dict(x=x, y=y, label=labels)) groups = df.groupby('label') # Plot fig, ax = plt.subplots() ax.margins(0.05) for name, group in groups: ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name) ax.legend() plt.show()
Untuk hasil yang menarik secara visual, anda boleh menyesuaikan plot menggunakan gaya matplotlib yang tersedia dalam modul plot Pandas:
plt.rcParams.update(pd.tools.plotting.mpl_stylesheet) colors = pd.tools.plotting._get_standard_colors(len(groups), color_type='random') # ... (the rest of the code remains the same)
Ini akan memberi anda plot berselerak di mana setiap kategori diwakili oleh warna dan simbol yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Plot Taburan Kategori dengan Simbol Berbeza dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!