Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencipta Peta Warna Tersuai dengan Matplotlib dan Memaparkan Skala Warna?

Bagaimana untuk Mencipta Peta Warna Tersuai dengan Matplotlib dan Memaparkan Skala Warna?

Linda Hamilton
Linda Hamiltonasal
2024-11-12 07:17:01241semak imbas

How to Create a Custom Colormap with Matplotlib and Display a Color Scale?

Peta Warna Tersuai dengan Matplotlib dan Plot Skala Warna

Pengenalan

Peta warna tersuai membenarkan visualisasi data yang diperibadikan. Artikel ini menangani pertanyaan pengguna tentang membuat peta warna mereka sendiri yang beralih dengan lancar daripada merah melalui ungu kepada biru, dipetakan kepada nilai antara -2 dan 2. Matlamatnya adalah untuk mewarnakan titik data dalam plot dan memaparkan skala warna yang disertakan.

Penciptaan Peta Warna

Untuk mencipta skala warna berterusan, LinearSegmentedColormap digunakan dan bukannya ListedColormap diskret. Senarai warna boleh dihantar ke kaedah from_list untuk menjana peta warna tersuai ini:

import matplotlib.pyplot as plt
import matplotlib.colors

colors = ["red", "violet", "blue"]
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", colors)

Memetakan Warna kepada Nilai

Untuk memetakan warna kepada nilai data, fungsi normalisasi diperlukan. Fungsi Normalize mengubah nilai kepada julat yang sesuai untuk peta warna:

norm = plt.Normalize(-2, 2)

Memplot dengan Peta Warna Tersuai

Untuk mewarna titik dalam plot menggunakan peta warna tersuai:

plt.scatter(x, y, c=c, cmap=cmap, norm=norm)

Visualisasi Skala Warna

Untuk memaparkan skala warna bersebelahan dengan plot:

plt.colorbar()

Generalisasi kepada Data Arbitrari

Kaedah ini boleh digeneralisasikan untuk memetakan mana-mana set nilai kepada warna:

cvals = [-2., -1, 2]
colors = ["red", "violet", "blue"]

tuples = list(zip(map(norm, cvals), colors))
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", tuples)

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Peta Warna Tersuai dengan Matplotlib dan Memaparkan Skala Warna?. 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