Matplotlib работает только с графиками в стиле маркеров, как мне это исправить? - PullRequest
0 голосов
/ 01 ноября 2019

Итак, я запустил быстрый тест перед началом школьной работы и натолкнулся на эту причудливую проблему, где хотя код работает просто отлично, результирующий сюжет просто. Пустой.

import matplotlib.pyplot as pl


x = np.array([np.arange(0,6,0.01)])
y = np.array([np.arange(0,6,0.01)])

pl.plot(x,y)
pl.show()

Это должно быть просто линией. Вместо этого я получаю следующее: Окно графиков с ожидаемыми интервалами, но без реальной линии, точек или чего-либо вообще .

И чтобы сделать вопрос еще более ошеломляющим, использование стиля маркера работает, как и ожидалось! Если я заменю

pl.plot(x,y)

на

pl.plot(x,y, marker='o)

, я получу правильный, хотя и красочный, график! Я ошеломлен и нуждаюсь в помощи: (

1 Ответ

1 голос
/ 01 ноября 2019

Это потому, что вы не чертите, то, что вы думаете, вычерчиваете.

x = np.array([np.arange(0,6,0.01)]) создает массив значений, затем помещает его в список, а затем создает из этого еще один массив значений. Таким образом, функция plot попытается построить несколько сотен линий, состоящих только из одной точки. Вот почему вы ничего не видите (линия с одной точкой невидима в mpl). Так что просто используйте обычные массивы:

import numpy as np
import matplotlib.pyplot as pl


x = np.arange(0,6,0.01)
y = np.arange(0,6,0.01)

pl.plot(x,y)
pl.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...