plt(matplotlib)不在新窗口中显示

问题描述 投票:0回答:3

我试图使用matplotlibplt对两个图像aa和REFLECTANCE进行子绘图,问题是图形显示在控制台中而不是在新窗口中,我需要将图形放在一个新的单独窗口中以便保存并使用它在代码之外。

我认为这个问题实际上与我使用Linux(Ubuntu)的版本有关?或者我错过了一些代码?

谢谢您的帮助。

import matplotlib.pyplot as plt
import numpy as np
import cv2

directory = "/home/stagiaire/Bureau/tech/IMG_170622_081910_0004_RED.TIF"

aa=cv2.imread(directory)

plt.figure()
plt.subplot(221), plt.imshow(aa),plt.title('Image originale')
plt.subplot(222), 
plt.imshow(np.array(REFLECTANCE).reshape(1280,960).T),plt.title('Reflectance')
python matplotlib figure subplot canopy
3个回答
0
投票

默认情况下,Canopy在pylab qt模式下运行其IPython内核;在此模式下,Windows会在新窗口中弹出。因为他们没有为你做这件事,似乎过去由于某些原因你将设置更改为pylab内联模式。 (也许是因为你想运行TK程序,就像here?)

请将其重置为qt(Edit => Preferences => Python => backend = qt)。它现在按预期运作吗?

顺便说一句,the current version of Canopy is 2.1.3


2
投票

如果您使用matplotlib,则需要使用plt.show()显示图像,除非您不处于交互模式:

plt.figure()
plt.imshow(sample_image) 
plt.show()  # display it

注意:请注意,您无需显示图像即可进行保存。

plt.savefig('image.png')

2
投票

Tools -> Preferences -> IPython consol -> Completion Type 

把它设置为graphical

© www.soinside.com 2019 - 2024. All rights reserved.