我能够成功安装matplotlib;但是,当我运行我的代码时,我没有收到错误,而是Python图标一遍又一遍地弹跳。
我不知道它是否与
有关from rcParamsSettings import *
我不知道那是什么,但是如果我试着用那条未注释的那条线来运行它,我会得到
ImportError: No module named rcParamsSettings
这是我正在尝试运行的代码:
import pylab
#from rcParamsSettings import *
import random
def flipPlot(minExp, maxExp):
"""Assumes minExp and maxExp positive integers; minExp < maxExp
Plots results of 2**minExp to 2**maxExp coin flips"""
ratios = []
diffs = []
xAxis = []
for exp in range(minExp, maxExp + 1):
xAxis.append(2**exp)
for numFlips in xAxis:
numHeads = 0
for n in range(numFlips):
if random.random() < 0.5:
numHeads += 1
numTails = numFlips - numHeads
ratios.append(numHeads/float(numTails))
diffs.append(abs(numHeads - numTails))
pylab.title('Difference Between Heads and Tails')
pylab.xlabel('Number of Flips')
pylab.ylabel('Abs(#Heads - #Tails)')
pylab.plot(xAxis, diffs)
pylab.figure()
pylab.title('Heads/Tails Ratios')
pylab.xlabel('Number of Flips')
pylab.ylabel('#Heads/#Tails')
pylab.plot(xAxis, ratios)
random.seed(0)
flipPlot(4, 20)
要使代码运行,我需要做什么?
注意:我在编程和Python方面的经验非常有限;我刚开始。
答案 0 :(得分:1)
您需要使用pylab.show()
否则不会出现任何内容。
请参阅此处的示例:http://matplotlib.org/examples/pylab_examples/simple_plot.html
(虽然您应该避免使用from pylab import *
,但导入的方式很好。)
MatPlotLib
中有些情况您不想显示图表。我的一个例子是使用自动化过程收集的数据在服务器上设计图形。服务器没有屏幕,只能由终端访问,因此尝试显示图形将导致错误,因为没有设置DISPLAY
变量(没有要显示的屏幕)。
在这种情况下,使用pylab.savefig()
将图保存在某处是正常的,然后可以通过电子邮件发送或使用ftp将其发送到可以查看的地方。
由于此MatPlotLib
不会隐式显示图表,因此必须要求它显示。
答案 1 :(得分:1)
如果我添加pylab.show()
,您的代码将适用于我。
或者,您可以将绘图保存到文件中:
pylab.savefig("file.png")
如果您经常更新您的情节,这是有道理的。