当前位置: 首页 > 面试题库 >

如何在Python的matplotlib中设置“后端”?

邰昀
2023-03-14
问题内容

我是matplotlib的新用户,我的平台是Ubuntu 10.04 Python 2.6.5

这是我的代码

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt 
plt.plot([1,2,3])

错误是:

/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py:41: UserWarning: 
Your currently selected backend, 'agg' does not support show().
Please select a GUI backend in your matplotlibrc file ('/usr/local/lib/python2.6/dist-packages/matplotlib/mpl-data/matplotlibrc')
or with matplotlib.use()
  (backend, matplotlib.matplotlib_fname()))
  • 我安装了“防颗粒几何”库,apt-get install libagg但是它不起作用。
  • 我尝试使用后端的其他参数,例如“ GTK”和“ TkAgg”。
  • 我安装了python-gtk2-dev软件包,但错误仍在下面。
  • 谁能告诉我一个可执行的后端参数及其依赖库?

这是错误:

>>> matplotlib.use('GTK')
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/pyplot.py", line 95, in <module>
    new_figure_manager, draw_if_interactive, show = pylab_setup()
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
    globals(),locals(),[backend_name])
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gtk.py", line 28, in <module>
    from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK 
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gdk.py", line 29, in <module>
    from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array
ImportError: No module named _backend_gdk

问题答案:

您当前选择的后端“ agg”不支持show()。

AGG后端用于写入文件,而不用于在窗口中呈现。请参阅matplotlib网站上的后端常见问题解答。

ImportError:没有名为_backend_gdk的模块

对于第二个错误,也许您的matplotlib发行版未使用GTK支持进行编译,或者您错过了PyGTK软件包。尝试安装它。

您是否在show()可以访问图形环境的终端或应用程序中调用该方法?

按以下顺序尝试其他GUI后端:

  • TkAgg
  • WX
  • QTAgg
  • QT4Agg


 类似资料:
  • 我是Python新手,需要使用pyplot和matplotlib生成条形图。到目前为止,我是这样尝试的(我只附上了重要的代码片段):

  • 问题内容: 我正在matplotlib中生成图形,我想将x轴设置在0-10000之间,但我不想更改y轴,我希望图形自己完成。现在,两个轴都会自动生成。 这是一个例子: axis命令无法帮助我,因为我也必须设置y值。同样由于某种原因,xlim不起作用,它表示没有参数xlim。 任何建议表示赞赏,谢谢 问题答案: 这对我来说似乎很好:

  • 问题内容: 我有以下代码: 因此,这将使用指定的颜色图在X轴和Y轴上生成值的图形。和轴是完美的,但是颜色图在的最小值和最大值之间分布。我想强制颜色图的范围在0到1之间。 我想到使用: 设置轴的范围,但这仅接受X和Y的最小值和最大值的参数,而不是颜色图。 编辑: 为了清楚起见,假设我有一个图的值的范围为(0 … 0.3),而另一个图的值的范围为(0.2 … 0.8)。 在两个图中,我都希望颜色条的范

  • 问题内容: 特别是在处理灰度图像时,将每个命令的色图设置为会很麻烦。如何设置matplotlib使用的默认颜色图来灰度或其他颜色图? 问题答案: 要仅为当前交互式会话或一个脚本更改默认颜色图,请使用 对于2.0之前的版本,您必须使用rcParams字典。在新版本中仍然有效。 要更改默认颜色图,请永久编辑matplotlibrc配置文件并添加该行。根据需要,将灰色值替换为任何其他有效的颜色图。配置文

  • 问题内容: 我正在学习如何使用mplot3d生成漂亮的3d数据图,到目前为止我很高兴。我现在想做的是旋转表面的动画效果。为此,我需要为3D投影设置相机位置。我猜这一定是有可能的,因为在交互使用matplotlib时,可以使用鼠标旋转表面。但是如何从脚本执行此操作?我在mpl_toolkits.mplot3d.proj3d中找到了很多转换,但是我找不到如何使用这些转换的目的,也没有找到任何尝试的示例

  • 问题内容: 我在这里重新绘制图形时遇到问题。我允许用户在时间刻度(x轴)中指定单位,然后重新计算并调用此函数plots()。我希望该图仅进行更新,而不是将另一个图附加到该图上。 问题答案: 你基本上有两个选择: 精确执行当前操作,但在重新配置数据之前先致电和。这是最慢但最简单,最可靠的选择。 除了重新绘制外,你还可以更新绘图对象的数据。你需要在代码中进行一些更改,但这比每次重新绘制都快得多。但是,