小编Top*_*hes的帖子

matplotlib savefig()空白 - show()不是

我已经浏览了"可能已经有你答案的问题",如果他们这样做了......我不明白.

我试图尽可能地消除并将我的问题简化为以下代码(我的道歉 - 我确信有更优雅的方式来获得所有40个的numpy数组,但这是我想出的在敲我的头后....):

import numpy
import matplotlib.pyplot as plt

x=numpy.zeros((500,256))
x+=40
plt.title("Title")
plt.xlabel("Label")
plt.ylabel("Label")
plt.imshow(x,vmin=37.5,vmax=42.5, cmap='spectral')

#save the figure
filename="/xxx/yyy/matplotlibtest.jpg"
plt.savefig(filename)
plt.show()
plt.close()
Run Code Online (Sandbox Code Playgroud)

plt.savefig()返回一个非常漂亮的图像,包含我的标签,轴和没有图形(即矩形是空白的)

plt.show()向我展示了上面所有的一个漂亮的绿色矩形,它位于我的轴之间,就像它应该的那样.我可以手动将此图保存到同一目录,并获得我期望的结果(即轴,标签,绿色矩形).

我已经尝试了没有show()或show()调用第二,因为这里(和其他地方)的一些问题和答案似乎暗示调用顺序可能是问题.

我已经在这段代码中以jpg的形式保存了其他数据(相同数据的直方图),所以我知道这台计算机可以保存为jpg.

我不确定我在savefig上做错了什么 - 有什么建议吗?

谢谢!

python matplotlib

6
推荐指数
1
解决办法
4705
查看次数

将一个已排序数组中的数据插入另一个已排序数组

如果在这里被问到这个问题我很抱歉 - 我已经在这里和Tentative NumPy教程中寻找答案了.

我有2个numpy数组.第一个数组类似于:

1 0 0 0 0

2 0 0 0 0

3 0 0 0 0

4 0 0 0 0

5 0 0 0 0

6 0 0 0 0

7 0 0 0 0

8 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

(等......实际上是~700x10)

然后我有一个类似的第二个数组

3 1

4 18

5 2
Run Code Online (Sandbox Code Playgroud)

(再次,更长 - 可能是400行左右)

第二个数组的第一列始终完全包含在第一个数组的第一列中

我想要做的是将第二个数组的第二列作为现有列的一部分插入第一个数组,即:

数组a:

1 0 0 0 0

2 0 0 0 0

3 1 0 0 0

4 18 0 0 0

5 …
Run Code Online (Sandbox Code Playgroud)

python numpy multidimensional-array

2
推荐指数
1
解决办法
276
查看次数