График рассеяния Matplotlib с неизвестной ошибкой

Я пытаюсь создать диаграмму рассеяния. У меня есть список чисел от 0 до 17, а также массив с 18 значениями. Я могу построить данные как линейный график, но когда я пытаюсь построить как разброс, я получаю сообщение об ошибке, которое я не понимаю TypeError: ufunc 'sqrt' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

Что означает это сообщение об ошибке и как я могу получить данные для разметки?

import numpy as np
import matplotlib.pyplot as plt

y = [7316.0, 7453.25, 7518.25, 7711.5, 7448.0, 7210.25, 7416.75, 6960.75, 
     7397.75, 6397.5, 5522.75, 5139.0, 5034.75, 4264.75, 5106.0, 3489.5, 
     4712.0, 4770.0]
x = np.arange(0,18,1)

plt.rcParams['legend.loc'] = 'best'
plt.figure(1)
plt.xlim(0, 20)
plt.ylim(0, 10000)
plt.scatter(x, y, 'r')
plt.show()

Ответы

Ответ 1

Проверьте документацию о разбросе. Третий аргумент - размер точек и должен быть скалярным или массивным. Я предполагаю, что 'r' цвету, поэтому сделайте следующее:

plt.scatter(x, y, c='r')