Matplotlib:绘制离散值

时间:2010-04-07 07:48:02

标签: python matplotlib data-visualization

我正在尝试绘制以下内容!

from numpy import *
from pylab import *
import random

for x in range(1,500):
    y = random.randint(1,25000)
    print(x,y)   
    plot(x,y)

show()

但是,我一直得到一张空白图表(?)。为了确保程序逻辑正确,我添加了代码print(x,y),只是确认正在生成(x,y)对。

正在生成

(x,y)对,但没有绘图,我一直在得到一个空白图。

有任何帮助吗?

1 个答案:

答案 0 :(得分:4)

首先,我有时候通过

取得了更好的成功
from matplotlib import pyplot

而不是使用pylab,尽管在这种情况下这不应该有所不同。

我认为您的实际问题可能是正在绘制点但不可见。使用列表一次绘制所有点可能会更好:

xPoints = []
yPoints = []
for x in range(1,500):
    y = random.randint(1,25000)
    xPoints.append(x)
    yPoints.append(y)
pyplot.plot(xPoints, yPoints)
pyplot.show()

为了使这个更整洁,你可以使用生成器表达式:

xPoints = range(1,500)
yPoints = [random.randint(1,25000) for _ in range(1,500)]
pyplot.plot(xPoints, yPoints)
pyplot.show()