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

Susan Sarandon
Lepaskan: 2024-10-19 14:52:01
asal
750 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!