Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah cara saya menetapkan julat bar warna untuk peta warna tersuai dalam matplotlib?

Bagaimanakah cara saya menetapkan julat bar warna untuk peta warna tersuai dalam matplotlib?

Barbara Streisand
Barbara Streisandasal
2024-11-03 11:40:03354semak imbas

How do I set the colorbar range for custom colormaps in matplotlib?

Tetapkan Julat Bar Warna untuk Peta Warna Tersuai

Apabila mencipta plot menggunakan peta warna tersuai, selalunya wajar untuk menetapkan julat bar warna secara bebas daripada nilai data. Ini membolehkan tafsiran warna yang konsisten merentas berbilang plot dengan julat data yang berbeza.

Dalam coretan kod yang disediakan, fungsi pcolor menggunakan peta warna tersuai yang ditakrifkan oleh kamus cdict. Julat bar warna ditentukan oleh nilai maksimum dan minimum tatasusunan data (v) secara lalai. Walau bagaimanapun, dalam beberapa kes, julat bar warna perlu dipaksa untuk selang tertentu, seperti 0 hingga 1.

Parameter vmin dan vmax fungsi pcolor boleh digunakan untuk menetapkan nilai minimum dan maksimum untuk bar warna, masing-masing. Dengan menyatakan nilai ini, peta warna akan diregangkan atau dimampatkan agar sesuai dengan julat yang ditentukan.

Berikut ialah contoh yang dikemas kini:

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

cdict = {
  'red'  :  ( (0.0, 0.25, .25), (0.02, .59, .59), (1., 1., 1.)),
  'green':  ( (0.0, 0.0, 0.0), (0.02, .45, .45), (1., .97, .97)),
  'blue' :  ( (0.0, 1.0, 1.0), (0.02, .75, .75), (1., 0.45, 0.45))
}

cm = m.colors.LinearSegmentedColormap('my_colormap', cdict, 1024)

x = np.arange(0, 10, .1)
y = np.arange(0, 10, .1)
X, Y = np.meshgrid(x,y)

data = 2*( np.sin(X) + np.sin(3*Y) )

plt.pcolor(X, Y, data, cmap=cm, vmin=0, vmax=1)
plt.colorbar()
plt.show()</code>

Dalam contoh ini, parameter vmin dan vmax ditetapkan kepada 0 dan 1, masing-masing. Ini memaksa bar warna untuk berjulat dari 0 hingga 1, tanpa mengira nilai data.

Dengan menentukan vmin dan vmax, anda boleh memastikan tafsiran warna yang konsisten merentas plot berbeza, walaupun julat data berbeza-beza. Ini amat berguna apabila membandingkan berbilang set data atau semasa membuat visualisasi interaktif yang julat data mungkin berubah secara dinamik.

Atas ialah kandungan terperinci Bagaimanakah cara saya menetapkan julat bar warna untuk peta warna tersuai dalam 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