在Python虚拟环境中,matplotlib示例代码无法正常工作。

7 浏览
0 Comments

在Python虚拟环境中,matplotlib示例代码无法正常工作。

我试图在matplotlib中显示图像的x y z坐标。在全局python安装上,示例代码工作得很好:当我移动光标时,x、y、z值会立即更新。然而,在python虚拟环境中运行示例代码时,我需要多次点击图像才能显示坐标,然后当我点击不同的位置时,它只会更新部分。几次点击后,坐标将不再更新。

我不知道如何调试这个问题。

0
0 Comments

问题的原因是Matplotlib在Python虚拟环境中的示例代码无法正常工作。解决方法是使用vext库。以下是解决问题的具体步骤:

1. 在Matplotlib的虚拟环境FAQ页面中指出了这个问题,并提供了解决方案。

2. vext库可以解决这个问题,它允许在虚拟环境中使用系统范围的PyQt5等库。

3. 在解决方案中,首先需要安装vext.pyqt5库。可以使用以下命令来安装:

pip3 install vext.pyqt5

4. 安装完vext.pyqt5后,就可以在Matplotlib的虚拟环境中使用示例代码了。

0
0 Comments

问题出现的原因是macOS上的matplotlib后端可能存在问题。解决方法是切换到matplotlib的另一个后端(例如使用'qt4'代替'macosx')。关于如何切换后端以及其含义的详细信息,请参阅文档这里。请注意,您可能需要先安装后端(例如使用pyqt来使用我在这里建议的qt4agg后端)。

总结一下,后端处理matplotlib的输出,而matplotlib可以针对不同的输出格式进行操作。这些可以是图形界面显示输出格式(例如wxqt4等),也可以是文件输出格式(例如pdf)。这些分别被称为交互式和非交互式后端。

要更改后端,可以在代码中执行以下操作:

import matplotlib
matplotlib.use('qt4agg')

或者-如果您想每次启动matplotlib时都更改后端-编辑您的matplotlibrc文件并设置后端属性,例如:

backend: Qt4Agg

注意:有一位评论者提醒我,自从发布这个答案以来,matplotlib文档现在提到了这个问题,并且提供了一个解决方法,尽管评论者指出,这个答案中提供的解决方法(切换到Qt后端)对他们有效,而官方文档中的解决方法对他们来说不可行。

对我有用(在使用brew安装pyqt之后)! matplotlib文档提供了更长的解决方法,但实际上我无法实现。 matplotlib.org/faq/virtualenv_faq.html

0
0 Comments

问题原因:

问题出现的原因是在Python虚拟环境中,matplotlib示例代码无法正常工作。其中一个原因是由于缺少必需的后端库,例如TkAgg、qt4Agg或PySide。另一个可能的原因是缺少特定的依赖库,例如PyQt4或PyQt5。

解决方法:

解决这个问题的方法是根据具体情况采取以下步骤:

1. 在工作目录中创建一个名为matplotlibrc的文件,并将backend设置为TkAgg。可以使用文本编辑器(如vim或Nano)创建该文件。

# 在运行Python的工作目录中
vim matplotlibrc
# 使用vim、Nano或其他编辑器创建新文件
backend: TkAgg

2. 确认matplotlib的后端设置是否已更改为TkAgg。可以使用以下代码进行验证:

import matplotlib
print matplotlib.rcParams['backend']

如果输出为TkAgg,则说明更改已成功生效。

3. 如果已经安装了依赖库pyqt(例如使用Homebrew命令`brew install pyqt`),则需要将其复制到Python虚拟环境的site-packages目录下。可以使用以下命令将其复制到相应目录:

cp -r /usr/local/lib/python2.7/site-packages/PyQt4 $MyVirtEnv/lib/python2.7/site-packages/

其中`$MyVirtEnv`是Python虚拟环境的路径。

4. 如果尝试使用qt4Agg后端仍然出现错误,并且错误信息中提到缺少PyQt4、PyQt5或PySide包,则需要安装相应的包。可以使用pip命令安装pyside:

pip install pyside

如果安装成功,则可以继续使用qt4Agg后端。

5. 如果安装pyside后仍然出现“No module named pyside”的错误,则可能是由于包名大小写不匹配导致的。可以尝试使用以下命令导入正确的包:

import PySide

6. 如果在重新导入matplotlib时出现“cannot import name cache”的错误,则可能是由于缺少其他依赖库或库文件损坏导致的。可以尝试重新安装matplotlib或检查其他依赖库的安装情况。

通过以上步骤,可以解决在Python虚拟环境中使用matplotlib示例代码时出现的问题。

0