>  기사  >  백엔드 개발  >  matplotlib에서 사용자 정의 색상 맵에 대한 색상 막대 범위를 어떻게 설정합니까?

matplotlib에서 사용자 정의 색상 맵에 대한 색상 막대 범위를 어떻게 설정합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 11:40:03355검색

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

사용자 정의 색상맵에 대한 색상 막대 범위 설정

사용자 정의 색상맵을 사용하여 플롯을 생성할 때 색상 막대의 범위를 개별적으로 설정하는 것이 바람직한 경우가 많습니다. 데이터 값. 이를 통해 데이터 범위가 서로 다른 여러 플롯에서 일관된 색상 해석이 가능합니다.

제공된 코드 조각에서 pcolor 함수는 cdict 사전에 정의된 사용자 정의 색상맵을 사용합니다. 컬러바의 범위는 기본적으로 데이터 배열(v)의 최대값과 최소값에 따라 결정됩니다. 그러나 어떤 경우에는 컬러바 범위를 0에서 1까지의 특정 간격으로 강제 설정해야 하는 경우도 있습니다.

pcolor 함수의 vmin 및 vmax 매개변수를 사용하여 최소값과 최대값을 설정할 수 있습니다. 각각 컬러바에 대해. 이러한 값을 지정하면 컬러맵이 지정된 범위에 맞게 늘어나거나 압축됩니다.

업데이트된 예는 다음과 같습니다.

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

이 예에서는 vmin 및 vmax 매개변수가 다음으로 설정됩니다. 각각 0과 1입니다. 이렇게 하면 데이터 값에 관계없이 컬러바의 범위가 0에서 1 사이가 됩니다.

vmin 및 vmax를 지정하면 데이터 범위가 다양하더라도 여러 플롯에서 일관된 색상 해석을 보장할 수 있습니다. 이는 여러 데이터 세트를 비교할 때나 데이터 범위가 동적으로 변경될 수 있는 대화형 시각화를 만들 때 특히 유용할 수 있습니다.

위 내용은 matplotlib에서 사용자 정의 색상 맵에 대한 색상 막대 범위를 어떻게 설정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.