Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Menggunakan Matplotlib untuk Memplot Warna Berbeza untuk Pelbagai Tahap Kategori?
Artikel ini membincangkan cara mencipta plot serakan dalam Python menggunakan matplotlib, di mana setiap warna mewakili tahap kategori yang berbeza. Pendekatan ini mengelak daripada menggunakan pakej plot tambahan seperti seaborn dan ggplot untuk Python.
Matplotlib menyediakan hujah c dalam plt.scatter, yang membenarkan penyesuaian warna. Berikut ialah contoh:
<code class="python">import matplotlib.pyplot as plt import pandas as pd # Sample DataFrame df = pd.DataFrame({'carat': [0.23, 0.21, 0.23], 'price': [326, 326, 327], 'color': ['E', 'E', 'E']}) # Color mapping colors = {'D': 'tab:blue', 'E': 'tab:orange', 'F': 'tab:green', 'G': 'tab:red', 'H': 'tab:purple', 'I': 'tab:brown', 'J': 'tab:pink'} # Scatter plot with colors plt.scatter(df['carat'], df['price'], c=df['color'].map(colors)) plt.show()</code>
Fungsi peta(warna) memetakan warna "berlian" kepada warna "memplot".
Walaupun artikel ini memfokuskan pada matplotlib, perlu dinyatakan bahawa seaborn juga menawarkan penyelesaian yang mudah:
<code class="python">import seaborn as sns # Scatter plot with colors sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)</code>
Untuk pendekatan manual, anda boleh menggunakan panda untuk mengumpulkan mengikut warna dan memplot setiap kumpulan secara berasingan:
<code class="python">import matplotlib.pyplot as plt import pandas as pd # Sample DataFrame df = pd.DataFrame({'carat': [0.23, 0.21, 0.23], 'price': [326, 326, 327], 'color': ['E', 'E', 'E']}) # Color mapping colors = {'D': 'tab:blue', 'E': 'tab:orange', 'F': 'tab:green', 'G': 'tab:red', 'H': 'tab:purple', 'I': 'tab:brown', 'J': 'tab:pink'} # Group by color and plot grouped = df.groupby('color') for key, group in grouped: group.plot(ax=plt.gca(), kind='scatter', x='carat', y='price', label=key, color=colors[key]) plt.show()</code>
Ini mengandaikan DataFrame yang sama seperti sebelumnya dan memberikan warna secara manual semasa proses memplot.
Artikel ini telah menunjukkan cara memplot warna yang berbeza untuk tahap kategori yang berbeza dalam Python menggunakan matplotlib, bersama-sama dengan pilihan tambahan menggunakan seaborn dan pendekatan manual dengan panda.
Atas ialah kandungan terperinci Bagaimanakah Saya Menggunakan Matplotlib untuk Memplot Warna Berbeza untuk Pelbagai Tahap Kategori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!