【问题标题】:TclError when creating plots using mpld3 in pythonanywhere在 pythonanywhere 中使用 mpld3 创建绘图时出现 TclError
【发布时间】:2018-02-10 13:44:43
【问题描述】:

我正在使用 matplotlib 和 mpld3(均已成功安装)创建绘图,但在绘图时收到此错误消息:

...文件“/usr/lib/python2.7/lib-tk/Tkinter.py”,第 1767 行,在 init#012 self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects , useTk, sync, use)#012TclError: no display name and no $DISPLAY environment variable.

知道如何解决这个问题吗? 感谢您的帮助

【问题讨论】:

  • 谢谢!这是正确的添加。

标签: matplotlib tk pythonanywhere mpld3


【解决方案1】:

试试这个

import matplotlib
matplotlib.use('Agg')

查看page了解更多信息

【讨论】:

  • PythonAnywhere 开发者在这里——+1!这是the relevant help page
  • 您好,很抱歉给您带来了困惑。我仍然有同样的错误信息。也许我错过了链接中的示例,但是将 mpld3 与 matplotlib 一起使用的优点是除了使用 mpld3 生成的显示选项(如缩放)之外,还可以直接显示生成的图形...在示例中,必须保存图形并在添加了链接,因此我将失去使用 mpld3 的所有优势。
  • 啊,我明白了。问题是 mpld3 期望在带有显示器的台式计算机上运行。 PythonAnywhere 上的代码在没有显示的服务器上运行,因此无法运行。你可以在 PythonAnywhere 上获得类似的东西——交互式图表等等,但你必须使用 IPython/Jupyter 笔记本,这是一项付费功能。
  • 我不知道 Jupyter 将如何成为我想要的解决方案。事实上,该网站提供了通过 python/django 与 sql 数据库交互并根据请求显示图和数据的可能性。我不知道使用 mpld3 将绘图保存为 json 并在容器中显示后将是一个解决方案,但我这不是最佳解决方案,因为当不同的用户提出请求时,我会生成许多必须保存的绘图。也许我错了,我不知道
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多