首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么matplotlib不打印?

为什么matplotlib不打印?
EN

Stack Overflow用户
提问于 2013-01-28 17:19:15
回答 3查看 75.1K关注 0票数 23

我开始使用面向初学者的this教程学习MatPlotLib。这里是第一个例子。

代码语言:javascript
复制
from pylab import *
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

如果我将这3行代码写入我的python文件并在命令行中执行它(通过键入python file_name.py),什么也不会发生。没有错误消息,没有绘图。

有人知道我为什么看不到这个情节吗?

添加了

当然,我需要使用show。但即使我添加以下3行代码:

代码语言:javascript
复制
plot(X,C)
plot(X,S)
show()

它仍然不会生成任何东西。

添加了

下面是我现在使用的代码行:

代码语言:javascript
复制
import pylab as p
C = [1,2,3,4]
S = [10, 20, 30, 10]
p.plot(C,S)
p.show()

我仍然有相同的结果(什么都没有)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-28 18:15:22

这可能是后端的问题。python -c 'import matplotlib; import matplotlib.pyplot; print(matplotlib.backends.backend)'的输出是什么

如果它是'agg‘后端,你看到的是预期的行为,因为它是一个非交互式的后端,不会向屏幕显示任何东西,但使用plt.savefig(...)。例如,您应该切换到TkAgg或Qt4Agg才能使用show。您可以在matplotlib.rc文件中执行此操作。

@shashank:我在12.04和12.10上运行matplotlib都没有问题。在这两种情况下,我都使用Qt4Agg后端。如果您没有设置matplotlibrc,则使用默认的后端。准确地说,matplotlib repo是用TkAgg构建的。如果Quantal版本是使用Agg构建的,那么这就可以解释其中的差异

票数 52
EN

Stack Overflow用户

发布于 2013-01-28 17:22:39

您需要调用该函数:

代码语言:javascript
复制
show()

更准确地说:

代码语言:javascript
复制
pylab.show()

更好的是不要使用:

代码语言:javascript
复制
from pylab import *

而是这样做:

代码语言:javascript
复制
import pylab as p:

然后:

代码语言:javascript
复制
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

p.plot(C,S)
p.show()
票数 14
EN

Stack Overflow用户

发布于 2017-10-10 15:01:24

尝试添加。我使用Jupyter,这对我很有效。

代码语言:javascript
复制
  %matplotlib inline
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14558843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档