设置imshow的输出范围



对于我正在处理的一个项目,我创建了两组数据,这些数据是由一个函数生成的,该函数接受两个输入并返回第三个。我目前正在使用matplotlib imshow图来显示数据。由于其中一个数据集包含的值远高于另一个数据集中的值,所以我希望为这两个数据集设置一个范围,这意味着两个图表中的颜色将代表相同的值。有什么好方法可以做到这一点吗?谢谢这是我目前使用的代码:

import matplotlib.pyplot as plt
import json
import numpy as np
with open("multi_testingout_put\bit_shift.txt","r") as f:
n = json.loads(f.read())
n = n[0]
inp = np.array(n)
fig, ax = plt.subplots()
im = ax.imshow(inp)
ax.invert_yaxis()
ax.set_title("bit shifting")
fig.tight_layout()
plt.show()

这是两个数据集:

[[7,7,7,7,,7,7,7,77,7,7],[11,11,11,11,11,1,11,11,111,11,11,11],[15,15,15,15,15],[19,19,19,119,19,19,19,19]19],[23,23,23,23,23.23,23,23],[27,27,27,27,27,27,27],[31,31,31,31,31.31,31,31,31],[35,35,35,35,35,35,35:35,35],[39,39,39[39,39,39,39,39,39,39,39,39,39,39],[43,43,43,34,34,43,44,43,43,43],[47,47,47,47,47,47

[[10,19,26,28,33,35,35,37,40,42,42],[10,19,26,28,33,35,35,37,40,42,42],[10,19,26,28,35,35,40,42,43],[10,19,26,28,33,35,35,37,40,42,32],[10.19,26,28,33,35,35,35,40,42,42]42,42],[10,19,26,28,33,35,35,37,40,42,42],[10、19,26、28,33、35,35、37、40,42、42],[10,19,26,28,33、33、35、35、37,40、42,42]]

在使用ax.imshow()时,可以使用vminvmax。例如:

im = ax.imshow(inp, vmin=0, vmax=50)

最新更新