【问题标题】:plt (matplotlib) not displaying in a new windowplt(matplotlib)不在新窗口中显示
【发布时间】:2017-06-26 13:20:25
【问题描述】:

我正在尝试使用 matplotlibplt 对两个图像 aaREFLECTANCE 进行子图,问题是该图形显示在控制台中而不是新窗口,我需要将图形放在一个新的单独窗口中才能保存并在代码之外使用它。

我相信问题实际上与我使用的 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')

【问题讨论】:

  • 您使用的是哪个后端?
  • 对不起,我是新手,我不明白这个问题?我使用的是什么后端?
  • 什么 Canopy 版本和什么 Python 版本?
  • @JonathanMarch Python 2.7 和 Canopy 1.7.4。

标签: python matplotlib figure subplot canopy


【解决方案1】:

如果您使用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

    【讨论】:

    • 感谢您的回答,我使用 Canopy 作为 IDE,但在 Edit -> Preferences 中找不到 IPython consol!
    【解决方案3】:

    默认情况下,Canopy 在 pylab qt 模式下运行其 IPython 内核;在这种模式下,窗口会在新窗口中弹出。因为他们没有为您执行此操作,所以您似乎过去出于某种原因将设置更改为 pylab 内联模式。 (也许是因为你想运行一个 TK 程序,比如here?)

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多