相关疑难解决方法(0)

尽管我打电话给pyplot.show(),matplotlib也没有显示我的图画

matplotlib需要帮助.是的,我没有忘记调用pyplot.show().

$ ipython --pylab

import matplotlib.pyplot as p 
p.plot(range(20), range(20))
Run Code Online (Sandbox Code Playgroud)

matplotlib.lines.Line2D at 0xade2b2c作为输出返回.

p.show()
Run Code Online (Sandbox Code Playgroud)

没有任何事情发生.没有错误消息.没有新窗口.没有.我matplotlib使用pip 安装,我没有收到任何错误消息.

细节:

我用,

  • Ubuntu的
  • IPython v0.11
  • Python v2.6.6
  • matplotlib v1.0.1

python matplotlib tech-chat-ml

161
推荐指数
6
解决办法
23万
查看次数

如何在matplotlib/Python中切换后端

我正在努力解决以下问题.我需要生成由一组图表组成的报告.除了一个之外,所有这些图表都是使用Matplotlib默认后端(TkAgg)制作的.需要使用开罗后端制作一张图表,原因是我正在绘制igraph图,并且只能使用Cairo绘制.

问题是我不能动态改变后端,例如以下方法不起作用:(
matplotlib.pyplot.switch_backend('cairo.png') 我知道switch_backend功能是实验性的)

我也尝试过,matplotlib.use("cairo.png")但这会导致导入问题,因为matplotlib.use("cairo.png")语句应该在导入之前出现matplotlib.pyplot.但是在剧本的生命历程中我需要两个不同的后端.

所以我的问题是有人有一个代码片段,显示如何在Matplotlib中切换后端?

非常感谢!

更新:我编写了一个加载matplotlib的片段,显示默认后端,卸载matplotlib,重新加载它并更改后端:

import matplotlib
import matplotlib.pyplot as plt
import sys
print matplotlib.pyplot.get_backend()

modules = []
for module in sys.modules:
    if module.startswith('matplotlib'):
        modules.append(module)

for module in modules:
    sys.modules.pop(module)

import matplotlib
matplotlib.use("cairo.png")
import matplotlib.pyplot as plt

print matplotlib.pyplot.get_backend()
Run Code Online (Sandbox Code Playgroud)

但这真的是这样做的吗?

更新2:我昨天有一些严重的大脑冻结......简单而明显的解决方案是将开罗后端用于所有图表而不是切换后端:)

更新3:实际上,它仍然是一个问题所以谁知道如何动态切换matplotlib后端....请发布你的答案.

python backend matplotlib cairo

68
推荐指数
8
解决办法
7万
查看次数

标签 统计

matplotlib ×2

python ×2

backend ×1

cairo ×1

tech-chat-ml ×1