我有一个 pcolormesh 图(图 1)和一个显示数据范围(0 到 100)的相应颜色条。 现在为了说明我的问题,我将数据除以 2,然后向他们显示第二个 pcolormesh 图(图 2),其中数据在 0 到 50 之间。
我想要的:
图 2 应使用与图 1 相同的颜色条和范围。它不应在 0 和 50 之间缩放完整的颜色条值,而应使用与第一个图的数据相符的颜色(50 应位于图 2 中颜色条的一半)。所以图 2 中的所有颜色都应该介于黑色和绿色之间!
这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
nx, ny = 10, 20
nz = nx*ny
minx, maxx = -5, 5
miny, maxy = -10, 10
minz, maxz = 0, 100
np.random.seed(1)
x = np.linspace(minx, maxx, nx)
y = np.linspace(miny, maxy, ny)
z1 = np.linspace(minz, maxz, nz)
np.random.shuffle(z1)
z2 = z1/2
z1=z1.reshape(ny,nx)
z2=z2.reshape(ny,nx)
地块 1
fig1, ax1 = plt.subplots(1,figsize=(5,5))
plot1=ax1.pcolormesh(x,y,z1,cmap='nipy_spectral',shading='auto')
ax1.set_xlabel('x')
ax1.set_ylabel('y')
cb1=fig1.colorbar(plot1,ax=ax1)
PLOT 2(颜色条应该从 0 到 100,最大值应该是绿色)
fig2, ax2 = plt.subplots(1,figsize=(5,5))
plot2=ax2.pcolormesh(x,y,z2,cmap='nipy_spectral',shading='auto')
ax2.set_xlabel('x')
ax2.set_ylabel('y')
cb2=fig2.colorbar(plot2,ax=ax2)