【问题标题】:figure not filling window python图不填充窗口python
【发布时间】: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


    【解决方案1】:

    也许你想试试plt.imshowplt.figimage 不会重新采样图像并以像素为单位进行绘制。 来自figimage的文档:

    figimage 补充了坐标区图像 (imshow()),它将被重新采样以适应当前坐标区。如果您希望重新采样的图像填充整个图形,您可以定义一个大小为 [0,1,0,1] 的 Axes。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-09
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多