Matplotlib: построение дискретных значений

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

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) пары генерируются, но нет графика, я продолжаю получать пустой график.

Любая помощь?

4 голоса | спросил Arkapravo 7 AMpWed, 07 Apr 2010 11:48:01 +040048Wednesday 2010, 11:48:01

1 ответ


0

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

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()
ответил Daniel G 7 AMpWed, 07 Apr 2010 11:55:07 +040055Wednesday 2010, 11:55:07

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132