python - 如何根据 Matplotlib 中的属性更改线条的颜色?
问题描述
我到处寻找这个答案 - 抱歉,如果它已经被问过
我正在使用 Python 3,并尝试根据点的颜色连接散点图上的点。
我试过这样做:
plt.plot(al['yearID'], al['Payroll(K)'])
我希望线条与图例中显示的颜色相同。我尝试循环遍历数据框以更改颜色,但这不起作用。
有没有办法在设置颜色时枚举数组?就像是:
colors = ["green", "red", "blue"]
plt.plot(al['yearID'], al['Payroll(K)'], colors = *loop through colors array*)
我也尝试过将原始图制作成线图,但 scatter 似乎是唯一可行的。谢谢!
编辑:
对于第一张图:
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))}