Как я могу преобразовать модуль в список или массив перед построением графика?

#python #function #numpy #matplotlib #plot

#python #функция #numpy #matplotlib #построить

Вопрос:

У меня есть 2 файла в PyCharm:

parable.py:

 def function_parable(a):

    return [x**2 for x in a]
  

main.py:

 import numpy as np
import matplotlib.pyplot as plt
a = [1, 2, 3, 4, 5]
a = np.array(a)
n = a.shape
print(n)
print(type(a))
print(a)

import parable as b
print(b.function_parable(a))
print(type(b))


plt.plot(a,b)
plt.show()
  

Ошибка: ошибка значения: x и y должны иметь одинаковое первое измерение, но иметь формы (5,) и (1,)

Как я могу сохранить эту структуру и решить эту проблему? Спасибо!

Комментарии:

1. Показать полную обратную трассировку ошибки в виде правильно отформатированного текста в вопросе.

2. Почему вы пытаетесь построить график b , а не b.function_parable(a) ?

3. Используйте x = b.function_parable(a) и затем plt.plot(a,x)

4. Спасибо, Бен и Том!! Я углубляюсь в Python в течение 2 недель

5. если a это массив, используйте return list(a**2) вместо return [x**2 for x in a] в вашей функции

Ответ №1:

попробуйте следующий скрипт:

 import numpy as np
import matplotlib.pyplot as plt
a = [1, 2, 3, 4, 5]
a = np.array(a)
n = a.shape
print(n)
print(type(a))
print(a)

import parable as f
b = f.function_parable(a)
print(b)
print(type(b))


plt.plot(a,b)
plt.show()
  

Счастливого кодирования, мой друг.

Комментарии:

1. Я просто использую Python с 2 недель назад. Спасибо, чувак!!!