我正在尝试使用 Paraview 中的 matplotlib 制作一个图形,如用户手册第 73 页所述。我在 Windows 10 上运行 Paraview 5.2.0 64 位。一个最小的例子是:
def setup_data(view):
pass
def render(view, width, height):
from paraview import python_view
figure = python_view.matplotlib_figure(width, height)
ax = figure.add_subplot(1,1,1)
return python_view.figure_to_image(figure)
但是,这会导致 Python 视图中出现黑屏,并在输出窗口中出现以下错误:
错误:无法导入matplotlib.backends.backend_agg。图画布阿格
错误:无法导入 matplotlib.figure.Figure
如何解决这个问题?
就我而言,事实证明,matplotlib 在导入 agg 后端期间无法导入dateutil
模块时无法加载。运行pvpython
,特别是从matplotlib导入agg后端,会产生:
>>> import matplotlib.backends.backend_agg
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:Program FilesParaView 5.2.0-Qt4-OpenGL2-Windows-64bitbinlibsite-packagesmatplotlibbackendsbackend_agg.py", line 31, in <module>
from matplotlib.figure import Figure
File "C:Program FilesParaView 5.2.0-Qt4-OpenGL2-Windows-64bitbinlibsite-packagesmatplotlibfigure.py", line 18, in <module>
from axes import Axes, SubplotBase, subplot_class_factory
File "C:Program FilesParaView 5.2.0-Qt4-OpenGL2-Windows-64bitbinlibsite-packagesmatplotlibaxes.py", line 19, in <module>
import matplotlib.dates as mdates
File "C:Program FilesParaView 5.2.0-Qt4-OpenGL2-Windows-64bitbinlibsite-packagesmatplotlibdates.py", line 119, in <module>
from dateutil.rrule import rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY,
ImportError: No module named dateutil.rrule
特别是导入dateutil
显示它未安装:
>>> import dateutil
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named dateutil
不幸的是,我的pvpython
运行 2.7.3 版,因此默认情况下不安装pip
我发现在 Windows 10 中使用pvpython
安装pip
很困难。相反,我下载了python-dateutil 2.6.0
,并仅将 zip 存档中的文件夹dateutil
提取到位于以下位置的 pvpython 库文件夹中:
C:Program FilesParaView 5.2.0-Qt4-OpenGL2-Windows-64bitbinlibsite-packages
重新启动Paraview然后给了我在Python视图中的一个数字,而不是黑屏。