다음 코드가 있습니다.
import matplotlib.pyplot as plt
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)
plt.clf()
plt.pcolor(X, Y, v, cmap=cm)
plt.loglog()
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.colorbar()
plt.show()
따라서 지정된 컬러 맵을 사용하여 X 축과 Y 축에 값 'v'의 그래프가 생성됩니다. X 및 Y 축은 완벽하지만 컬러 맵이 최소값과 최대 값의 v 사이에 퍼집니다. 컬러 맵의 범위를 0과 1 사이로 설정하고 싶습니다.
나는 다음을 사용하려고 생각했다.
plt.axis(...)
축의 범위를 설정하려면 컬러 맵이 아닌 X 및 Y의 최소 및 최대 인수 만 사용합니다.
편집하다:
명확성을 위해 값 범위가 (0 ... 0.3) 인 그래프와 값이 (0.2 ... 0.8) 인 그래프가 있다고 가정하겠습니다.
두 그래프 모두에서 컬러 바의 범위를 (0 ... 1)로 설정하려고합니다. 두 그래프 모두 위의 전체 범위를 사용 하여이 색상 범위가 동일하기를 원합니다 (두 그래프의 0.25는 동일한 색상입니다). 첫 번째 그래프에서 0.3과 1.0 사이의 모든 색상은 그래프에 표시되지 않지만 측면의 색상 막대 키에는 표시됩니다. 다른 한편으로, 0과 0.2 사이, 0.8과 1 사이의 모든 색상은 그래프에 표시되지 않지만 측면의 색상 막대에 표시됩니다.