我想绘制具有对称颜色限制的差异图像,而不必自己计算颜色限制。也就是说,我的图像可能具有[-3, 5]
范围内的强度。默认情况下,imshow
使用这些值作为颜色限制,并且使用发散的颜色贴图,白色中心位于1.原因是我可能稍后更改图像并希望防止必须重新计算颜色在每个动画步骤中限制自己。
我可以imshow
强制使用居中颜色限制,在我的示例[-5, 5]
中,而不是自己传递[-5, 5]
吗?
答案 0 :(得分:0)
我假设您的意思是您不想手动计算每个绘图的限制,但可以在更改绘图时更新限制。
在这种情况下,您需要计算哪些限制是一个更高的绝对数字,然后将其负值vmin
传递给vmax
imshow
个import numpy as np
import matplotlib.pyplot as plt
data = np.zeros((10, 10))
for i in range(10):
data[i] = np.linspace(-3, 5, 10)
def plot(data):
limit = max(abs(np.min(data)), abs(np.max(data)) )
plt.imshow(data, aspect='auto', cmap='RdBu',
vmin=-limit, vmax=limit)
plt.colorbar()
plt.show()
个关键字。这是一个最小的例子
complete.ly