Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Plot Taburan Kod Warna mengikut Nilai Lajur dalam Python?
Plot Taburan Pengekodan Warna mengikut Nilai Lajur dalam Python
Dalam visualisasi data, memberikan warna kepada kategori berbeza boleh meningkatkan kejelasan dan mendedahkan corak. Fungsi ini tersedia dalam ggplot2 untuk R, tetapi bagaimana kita boleh mencapai perkara yang sama dalam Python menggunakan panda dan matplotlib?
Kemas kini: Peningkatan Seaborn
Sejak jawapan asal , Seaborn telah muncul sebagai perpustakaan yang berkuasa untuk mencipta plot bermaklumat dan menarik secara visual. Kemas kini terbarunya menawarkan fungsi yang mudah untuk mewarna plot taburan berdasarkan nilai lajur:
Pendekatan Panda dan Matplotlib Asal
Bagi mereka yang mencari pendekatan langsung dengan Matplotlib, berikut ialah fungsi tersuai yang menetapkan warna kepada mata berdasarkan lajur kategori:
<code class="python">import matplotlib.pyplot as plt import pandas as pd def dfScatter(df, xcol='Height', ycol='Weight', catcol='Gender'): fig, ax = plt.subplots() categories = np.unique(df[catcol]) colors = np.linspace(0, 1, len(categories)) colordict = dict(zip(categories, colors)) df["Color"] = df[catcol].apply(lambda x: colordict[x]) ax.scatter(df[xcol], df[ycol], c=df["Color"]) return fig</code>
Fungsi ini mencipta kamus warna daripada nilai kategori unik dan memberikan warna yang sepadan kepada titik data. Plot taburan kemudian dijana dengan titik berkod warna.
Contoh
Menggunakan kerangka data sampel yang disediakan:
<code class="python">df = pd.DataFrame({'Height': np.append(np.random.normal(6, 0.25, size=5), np.random.normal(5.4, 0.25, size=5)), 'Weight': np.append(np.random.normal(180, 20, size=5), np.random.normal(140, 20, size=5)), 'Gender': ["Male", "Male", "Male", "Male", "Male", "Female", "Female", "Female", "Female", "Female"]})</code>
Memanggil fungsi dfScatter dengan bingkai data:
<code class="python">fig = dfScatter(df) fig.savefig('color_coded_scatterplot.png')</code>
Menghasilkan plot serakan dengan titik diwarnakan mengikut jantina:
[Imej plot serakan diwarnakan mengikut jantina]
Ciri lanjutan Seaborn dan fungsi dfScatter tersuai menyediakan pilihan yang fleksibel untuk menambah pengekodan warna pada plot taburan dalam Python, menjadikan visualisasi data lebih bermaklumat dan menarik secara visual.
Atas ialah kandungan terperinci Bagaimana untuk Plot Taburan Kod Warna mengikut Nilai Lajur dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!