Я просто повторно использовал старый исходный код, который работал раньше и больше не работает с сообщением об ошибке: ValueError: аргумент 'c' должен быть цветом, последовательностью цветов или последовательностью чисел, а не '' . Я создавал диаграмму рассеяния с данными из двух разных классов и выделял некоторые данные (пример ML с двумя классами и показом тестовых данных). Текущие версии: Python 3.12.5, numpy 2.1.1 и matplotlib 3.9.2
Минимальный пример кода:
import matplotlib.pyplot as plt
import numpy as np
X = np.random.randint(1, 26, size=(100, 2))
plt.figure(1)
plt.scatter(X[0:50, 0], X[0:50, 1], c = 'blue', marker='+', s=100)
plt.scatter(X[50:100, 0], X[50:100, 1], c = 'red', marker='+', s=100)
plt.scatter(X[40:60, 0], X[40:60, 1], c = '', marker='s', s=100, edgecolor = 'black')
plt.show()
Я проверил на своем старом ноутбуке Python 3.7.4, numpy 1.21.6 и matplotlib 3.3.0 и получил желаемый результат:
Я также пытался изменить оператор графика как следует за plt.scatter(X[40:60, 0], X[40:60, 1], c = None, маркер='s', s=100, Edgecolor = 'black'), но получаем результат с заполненными квадратными полями на графике:
Я просто повторно использовал старый исходный код, который работал раньше и больше не работает с сообщением об ошибке: ValueError: аргумент 'c' должен быть цветом, последовательностью цветов или последовательностью чисел, а не '' . Я создавал диаграмму рассеяния с данными из двух разных классов и выделял некоторые данные (пример ML с двумя классами и показом тестовых данных). Текущие версии: Python 3.12.5, numpy 2.1.1 и matplotlib 3.9.2 Минимальный пример кода: [code]import matplotlib.pyplot as plt import numpy as np
X = np.random.randint(1, 26, size=(100, 2))
plt.figure(1) plt.scatter(X[0:50, 0], X[0:50, 1], c = 'blue', marker='+', s=100) plt.scatter(X[50:100, 0], X[50:100, 1], c = 'red', marker='+', s=100) plt.scatter(X[40:60, 0], X[40:60, 1], c = '', marker='s', s=100, edgecolor = 'black') plt.show() [/code] Я проверил на своем старом ноутбуке Python 3.7.4, numpy 1.21.6 и matplotlib 3.3.0 и получил желаемый результат: [img]https://i.sstatic.net/W8qAKYwX.png[/img]
Я также пытался изменить оператор графика как следует за plt.scatter(X[40:60, 0], X[40:60, 1], c = None, маркер='s', s=100, Edgecolor = 'black'), но получаем результат с заполненными квадратными полями на графике: [img]https://i.sstatic.net/Ku8vrkGy.png[/img]