Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk membuat plot taburan dengan penanda dikumpulkan mengikut kategori dalam Python?

Bagaimana untuk membuat plot taburan dengan penanda dikumpulkan mengikut kategori dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-12-03 20:42:16398semak imbas

How to create a scatter plot with markers grouped by category in Python?

Merancang Plot Taburan Dikumpulkan Mengikut Kategori dalam Python

Masalah:

Dalam Panda, bagaimana anda boleh membuat plot taburan dengan penanda mewakili data yang disusun mengikut kategori yang ditakrifkan oleh satu pertiga lajur?

Penyelesaian:

Untuk mencipta plot serakan yang dikumpulkan mengikut kategori dengan cekap, gunakan fungsi plot dan bukannya serakan. Ini kerana plot mentafsir nilai dalam lajur ketiga sebagai kategori dan bukannya nilai berangka.

Berikut ialah penyelesaian langkah demi langkah menggunakan plot:

  1. Jana data : Buat DataFrame dengan lajur yang mewakili data pada paksi x dan y, serta lajur untuk kategori.
  2. Kumpulkan data: Gunakan groupby() untuk membuat kumpulan bagi setiap kategori.
  3. Plot data: Untuk setiap kumpulan, plot nilai x dan y menggunakan plot. Tentukan penanda='o' untuk mewakili data dengan kalangan.
  4. Tambahkan legenda: Labelkan penanda dengan kategori masing-masing menggunakan ax.legend().

Contohnya:

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()

Ini akan menghasilkan plot berselerak dengan penanda yang dikategorikan oleh nilai dalam lajur 'label' dan legenda yang mengenal pasti kategori.

Selain itu, anda boleh menyesuaikan penampilan plot dengan melaraskan parameter ax.margins(), menetapkan saiz penanda (ms) dan menyatakan palet warna untuk penanda.

Atas ialah kandungan terperinci Bagaimana untuk membuat plot taburan dengan penanda dikumpulkan mengikut kategori dalam Python?. 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