Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mewarnai Plot Taburan mengikut Nilai Lajur dalam Python dengan panda dan Matplotlib?

Bagaimana untuk Mewarnai Plot Taburan mengikut Nilai Lajur dalam Python dengan panda dan Matplotlib?

Susan Sarandon
Susan Sarandonasal
2024-10-19 14:52:01751semak imbas

How to Color Scatter Plots by Column Values in Python with pandas and Matplotlib?

Plot Taburan Warna mengikut Nilai Lajur dalam Python dengan panda dan Matplotlib

Pengenalan

Seperti yang anda nyatakan, ggplot2 menawarkan kemudahan penyesuaian estetika, membolehkan anda mewarna plot taburan berdasarkan nilai lajur. Artikel ini meneroka kefungsian yang setara dalam Python menggunakan panda dan Matplotlib.

Penyelesaian Menggunakan Seaborn

Seaborn, perpustakaan visualisasi data untuk Python, menyediakan penyelesaian yang elegan untuk masalah ini.

<code class="python">import seaborn as sns

# Load and clean the data
data = pd.read_csv('data.csv')
data['Gender'] = data['Gender'].astype('category')

# Create the scatter plot with color mapping
sns.relplot(data=data, x='Weight', y='Height', hue='Gender')</code>

Kod ini memanfaatkan fungsi relplot untuk mencipta plot taburan, dengan parameter rona memberikan warna berdasarkan lajur Jantina.

Penyelesaian Menggunakan Matplotlib dan Kamus

Jika anda lebih suka menggunakan Matplotlib secara langsung, anda boleh mencipta kamus pemetaan warna dan menggunakannya untuk mewarnai titik.

<code class="python">import matplotlib.pyplot as plt
import numpy as np

# Load and clean the data
data = pd.read_csv('data.csv')
data['Gender'] = data['Gender'].astype('category')

# Create a color mapping dictionary
categories = np.unique(data['Gender'])
colors = np.linspace(0, 1, len(categories))
color_dict = dict(zip(categories, colors))

# Add a 'Color' column to the DataFrame
data['Color'] = data['Gender'].map(color_dict)

# Create the scatter plot
plt.scatter(data['Weight'], data['Height'], c=data['Color'])
plt.show()</code>

Dalam pendekatan ini, color_dict memberikan warna kepada setiap kategori dalam ruangan Jantina. Lajur 'Warna' ditambahkan pada DataFrame dan parameter c dalam fungsi serakan menggunakan lajur ini untuk menentukan warna setiap titik.

Penyesuaian Tambahan

Kedua-dua Seaborn dan Matplotlib membenarkan penyesuaian lanjut plot taburan, seperti melaraskan palet warna atau menambah legenda. Rujuk dokumentasi mereka untuk mendapatkan lebih banyak pilihan.

Kesimpulan

Anda boleh mewarnakan plot taburan dengan mudah mengikut nilai lajur dalam Python menggunakan sama ada Seaborn atau Matplotlib secara langsung. Seaborn menyediakan antara muka tahap tinggi yang mudah, manakala Matplotlib menawarkan kawalan yang lebih besar ke atas penyesuaian. Dengan memanfaatkan teknik yang diterangkan di atas, anda boleh membuat plot taburan yang bermaklumat dan menarik secara visual dalam Python.

Atas ialah kandungan terperinci Bagaimana untuk Mewarnai Plot Taburan mengikut Nilai Lajur dalam Python dengan panda dan Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn