Matplotlib: построение дискретных значений - PullRequest
4 голосов
/ 07 апреля 2010

Я пытаюсь построить следующее!

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 Ответ

4 голосов
/ 07 апреля 2010

Прежде всего, я иногда добивался большего успеха, выполняя

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()
...