Я новичок в matplotlib, и сегодня я хочу спросить о моей текущей проблеме.
Пожалуйста, смотрите мой код:
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,2,3,4,5,6,7,8,9,10]
colors = [0,1,1,0,1,4,1,3,2,4]
sizes = [500,500,300,300,300,500,500,300,300,300]
map1 = plt.cm.get_cmap("jet", 5)
plt.scatter(x[0:3], y[0:3], c=colors[0:3] ,s=sizes[0:3],marker="*",cmap=map1)
plt.scatter(x[3:6], y[3:6], c=colors[3:6] ,s=sizes[3:6],marker="<",cmap=map1)
plt.scatter(x[6:10], y[6:10], c=colors[6:10], s=sizes[6:10],marker="D",cmap=map1)
plt.colorbar(ticks=range(5))
plt.clim(-0.5, 4.5)
plt.show()
Изображение результата
Проблема в том, что я не могу получить результат с несколькими маркерами и несколькими цветами. Как вы можете видеть, у меня есть тестовый набор данных с 10 элементами, и я хочу показать 1 -> 3 элемент с маркером *, и цвет совместим с массивом цветов (1-й элемент будет 0 цвета, 2-й элемент будет 1 цвет)...
Как и в результате изображения, только цвет последнего из plt.scatter будет истинным.
Я не понимаю, где я не прав.
Пожалуйста, дайте мне несколько решений.
Большое спасибо