请考虑以下内容。我有两个情节:
fig = plt.figure()
plt.imshow(nonfour, cmap='gray')
fig = plt.figure()
plt.imshow(np.abs(four), cmap='gray')
这两个图是使用数组nonfour和np.abs(four)创建的。创建每个图时,将使用每个数组的最小值和最大值来设置颜色图。
我想做的是从我的第一个情节生成一个cmap,并将其用作我的第二个情节的cmap
(即第二张图的颜色图将基于我的第一张图的最大值和最小值)。
答案 0 :(得分:2)
正如ThomasKühn所指出的,imshow
使用关键字vmin
和vmax
来控制颜色图的比例。您可以使用get_clim()
方法获取第一个图的(自动确定的)值:
# Create your first plot
img = plt.imshow(nonfour, cmap='gray')
# Extract vmin and vmax
vmin, vmax = img.get_clim()
# Create your second plot using these limits
plt.imshow(np.abs(four), cmap='gray', vmin=vmin, vmax=vmax)
或者,您也可以使用set_clim()
方法:
img = plt.imshow(nonfour, cmap='gray')
img2 = plt.imshow(np.abs(four), cmap='gray')
img2.set_clim(img.get_clim())