假设您有以下numpy.array
:
a=numpy.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
用绘图的
import matplotlib.pyplot as plt
b=plt.imshow(a)
我的问题:如果你"切片"像这样的图像
b=plt.imshow(a)
plt.xlim(0.5,2.5)
plt.ylim(0.5,2.5)
绘制的值对应于
a[1:3,1:3]?
答案 0 :(得分:1)
每行和每列的跨度或宽度为1.0。矩阵的行跨越x轴,矩阵的列跨越y轴。如果我们从查看矩阵中的行开始,第一个条目将以0.0为中心,下一个条目将以1.0为中心,依此类推。列相同。因为宽度是1.0,所以第一个条目可以说是从-0.5到0.5,然后是0.5到1.5。由于插值,它实际上是对矩阵的邻居值的加权。
如果我们设置这样的情节限制:
plt.xlim(1,2)
plt.ylim(1,2)
我们将在行和列中选择条目2和3(1个索引)之间的区域。但是这些值介于矩阵的值之间。
选择a[1:3,1:3]
更像是:
plt.xlim(0.5, 2.5)
plt.ylim(0.5, 2.5)