Странный сюжет, созданный на основе двух массивов numpy и matplotlib - PullRequest
0 голосов
/ 23 ноября 2018

Теперь я просто хочу построить линейный график на основе двух пустых массивов.Мои x и y - два (150,1) массива.После запуска следующего кода:

plt.plot(x,y)

То, что я получаю: Линейный график, основанный на двух пустых массивах

Поэтому я так растерялся.Что представляют собой эти соединенные линии?Я просто хочу одну линию, которая проходит через все точки.Мы будем благодарны за любую помощь!


Для набора данных X - это просто фиксированный (150,1) массив numpy, а y вычисляется на основе следующей полиномиальной функции:

def PolyCoefficients(x, coeffs):
""" Returns a polynomial for ``x`` values for the ``coeffs`` provided.

The coefficients must be in ascending order (``x**0`` to ``x**o``).
"""
o = len(coeffs)
y = []
for i in range(len(x)):
    value = 0
    for j in range(o):
        value += coeffs[j]*x[i]**j
    y.append(value)
return y

Коэффициенты были вычислены, и я хочу, чтобы через каждую точку (x, y) была проведена линия

1 Ответ

0 голосов
/ 23 ноября 2018

Пары x и y представляют точки на вашем графике.С помощью plt.plot () вы соединяете точки линией.Если массив x не в порядке, то у вас есть линия, которая идет вперед и назад по графику.Чтобы избежать этого, вы должны упорядочить массив x и y соответственно.Попробуйте с:

new_x, new_y = zip(*sorted(zip(x, y)))
plt.plot(new_x,new_y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...