【问题标题】:use matplotlib with PyQt5 in jupyter notebook在 jupyter notebook 中使用 matplotlib 和 PyQt5
【发布时间】:2018-06-23 00:04:10
【问题描述】:

我需要在 Jupyter 笔记本中使用 matplotlib 创建科学绘图,并在单独的窗口中创建它们而不是内联。我跑了%matplotlib qt,得到了这个错误:ImportError: No module named PyQt4

网上很多相关答案都涉及到安装PyQt4。为了提供一些背景信息,我使用 Anaconda 来管理 Windows 机器上的 python 模块。 Anaconda 默认在其根环境中安装 PyQt5.6.0。将此包降级到 PyQt4 将解决问题,但是,我项目中的另一个模块依赖于 PyQt5。我想弄清楚如何将 matplotlib 与 PyQt5 一起使用。

根据matploblib的tutorial,它支持PyQt5后端。我试图在%matplotlib qt 之前运行matplotlib.rcParams['backend'] = "Qt5Agg"matplotlib.use('Qt5Agg'),但得到了同样的错误。我是否错过了对其他人如此明显的东西?感谢您的帮助。

【问题讨论】:

  • 我猜对大多数人来说这都是开箱即用的。你的情况有些不同。您可以检查/.ipython/ipython_config.py/.ipython/ipython_kernel_config.py 中的任何一个是否包含声明使用qt4 的行。
  • @ImportanceOfBeingErnest 感谢您的提示,我意识到需要两个步骤才能使其正常工作。首先,我需要使用%matplotlib qt5。其次,我需要在 cmd 中运行ipython profile create 来创建你提到的这两个文件。但是这些新创建的文件中的内容都被注释掉了。我很好奇你是否知道为什么这一步仍然是必要的
  • 同意,似乎没有必要创建这些文件。也许你之前有一些配置文件现在被新创建的和完全注释的配置文件取代了?除此之外我不知道。如果您认为这个问题可能值得为其他人记录,您可以为自己的问题留下答案。
  • @ImportanceOfBeingErnest 我实际上是在我本周刚刚制造的一台新 PC 上进行设置。操作系统,甚至硬件都是全新的......无论如何,我将把我学到的东西作为答案。非常感谢

标签: python matplotlib pyqt jupyter-notebook pyqt5


【解决方案1】:

感谢@ImportanceOfBeingErnest(请参阅问题下方的 cmets),我自己想通了。这是偶然发现这个问题的任何人的答案。

如果您想在 matplotlib 中使用 PyQt5 在单个窗口中创建图形,则应该适用于大多数人的方法是运行 matplotlib.use('Qt5Agg') 然后运行 ​​%matplotlib qt5

由于某种我仍然不知道的原因,这对我不起作用。但解决方法是检查以下两个文件:/.ipython/ipython_config.py/.ipython/ipython_kernel_config.py 并确保其中没有后端偏好。就我而言,我什至没有这两个文件。在我创建它们后问题就解决了。您可以通过在 cmd 中运行 ipython profile create 来创建它们。

如果有人对为什么需要这两个文件(没有未注释的内容)有更多见解,请告诉我!

【讨论】:

    【解决方案2】:

    在我的 ~/.config/matplotlib/matplotlibrc 文件的第 41 行,我有以下内容:

    后端:Qt5Agg

    然后我通常会打字

    matplotlib qt 在笔记本或 qtconsole 中获取外部绘图,而不是内联绘图

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-18
      • 1970-01-01
      • 2019-02-04
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多