【发布时间】:2015-11-12 12:44:38
【问题描述】:
所以我正在尝试基于 numpy 数组创建二维图像,其中值是 x 处的强度,y 是数组的行/列。数组中的各个值是通过处理图像的径向轮廓然后在一定半径范围内积分生成的。我得到一个包含 4096 个值的列表,我将其重塑为 64x64 数组,然后绘制该数组。这一切都很好,我得到了我正在寻找的数字,并确保它在我的堆栈被清除的情况下工作。但是,现在当我运行它而不更改集成范围以外的任何内容时,也清除了堆栈,该图形无法正确生成。我尝试改回原来的限制,现在也不会生成。
这个窗口不是一个完整的图形窗口,而是出现,我想要的图像位于左下角,非常小,我无法调整它的大小、放大、移动它或任何东西。如果我尝试保存图像,它只会将灰色图形窗口与角落中的图像一起保存。 Example of the tiny image
在此实例中用于处理图像的代码是,
def pixel(image,s,e):
centre = CoM.centre_of_mass(image)
rad = CoM.radial_profile (image, centre)
sumRange = sp.integrate.simps(rad[s:e])
return sumRange
results = []
for i in range(0,64):
for j in range(0,64):
results.append(CoM.pixel(im[i,j].data,30,60))
data = np.array(results)
fig = plt.figimage(data.reshape(64,64))
plt.show()
所以我的问题是,我是否在我的代码/编译中做了任何会像这样影响图像的事情,我该如何解决?
我尝试使用tight_layout(),但figimage() 没有这个属性。我也尝试仅使用标准 plt.plot() 但我得到了将数组的每一行绘制为单独的线的图。
【问题讨论】:
标签: python numpy multidimensional-array figure