Я везде искал этот ответ - извините, если его уже спросили
Я работаю с Python 3 и пытаюсь соединить точки на точечной диаграмме в зависимости от цвета точки .
![](https://i.stack.imgur.com/Audgl.png)
Я пытался сделать это:
plt.plot(al['yearID'], al['Payroll(K)'])
Но я получаю это: ![enter image description here](https://i.stack.imgur.com/lQmNx.png)
Мне бы хотелось, чтобы линии были того же цвета, что и те, что показаны в легенде. Я попытался перебрать циклы данных, чтобы изменить цвета, но это не работает.
Есть ли способ перечислить массив при настройке цветов? Примерно так:
colors = ["green", "red", "blue"]
plt.plot(al['yearID'], al['Payroll(K)'], colors = *loop through colors array*)
Я также пытался сделать исходный график линейным, но, похоже, работает только разброс. Спасибо!
РЕДАКТИРОВАТЬ:
Для первого графика:
for i, txt in enumerate(al.teamID):
team = al['teamID'].iat[i]
col = color_assignment[team]
if team in seen:
plt.scatter(al['yearID'].iat[i], al['Payroll(K)'].iat[i], c = [col])
else:
plt.scatter(al['yearID'].iat[i], al['Payroll(K)'].iat[i], c = [col], label = al['teamID'].iat[i])
seen.append(al['teamID'].iat[i])
Я назначил цвет для каждой команды с помощью:
colors = []
random_color(al, colors)
team_names = al['teamID'].unique()
color_assignment = {team_names[i] : colors[i] for i in range(len(team_names))}