使用matplotlib*而不使用*TCL 您所在的位置:网站首页 matplotlibpyplot怎么安装 使用matplotlib*而不使用*TCL

使用matplotlib*而不使用*TCL

2023-03-16 15:19| 来源: 网络整理| 查看: 265

正是标题所说的.有没有办法在不安装TCL的情况下使用matplotlib库?请不要告诉我咬紧牙关并安装TCL - 我知道如何做到这一点,但我自己(可能是愚蠢的)我不想做的原因.

我不关心显示图,我只想在png中输出它们.我尝试了各种各样的东西(使用不同的后端等),但matplotlib总是想找到tcl工作:(为什么TCL对matplotlib如此重要?

此外,请注意我正在使用Windows - 我已经安装了所有可能需要的东西(numpy,pandas,matplotlib)使用pip.

@ gerrit的解决方案是正确的(我试图改变后端,但是我在加载pyplot 之后就这样做了- 重要的是你需要在使用matplotlib之后立即更改后端).这是一个使用它的小例子:

import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt fig, ax = plt.subplots( nrows=1, ncols=1 ) ax.plot([0,1,2], [10,20,3]) fig.savefig('foo.png') plt.close(fig)

这将输出一个名为'foo.png'的文件而不使用TCL\o /

1> gerrit..:

Matplotlib 3.0和更新版本

(已于2018年10月补充回答)

从2018年9月19日发布的Matplotlib 3开始,问题中描述的问题不应该发生.从文档的新部分:

默认后端不再必须设置为构建过程的一部分.相反,在运行时,内置后端按顺序尝试,直到其中一个导入.

无头linux服务器(由DISPLAY env标识未定义)将不会选择GUI后端.

因此,只要您确定未定义DISPLAY,在无头Linux服务器上运行脚本时,不应该遇到后端的任何问题.

Matplotlib 2.2及更早版本

(原答案2016年5月)

加载matplotlib后立即输入

matplotlib.use('Agg')

pyplot如果有的话,在加载之前执行此操作.

默认情况下,Matplotlib使用TkAgg后端,后端需要Tcl.如果你不想显示这些情节,那Agg很好.其他替代方案包括WX和QTAgg,但都需要安装其他库.

或者,您可以在matplotlibrc文件中设置此指令:

backend : Agg

有关详细信息,请参阅Matplotlib使用常见问题解答关于什么是后端?.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有