我正在基于来自csv的数据帧进行基本的散点图绘制。我还不允许嵌入照片,但这是关于它的外观的一点想法:
Rank Team Avg Annual Pay Points
1 Man U 6534654 32
2 Man City 5993000 44
没有什么太疯狂的了,只是拿英超联赛球队的球员的平均年薪与他们的积分相加。排名取决于团队的花费。
我想做的是用散点图的点是不同的颜色来绘制此图,并让图例在其旁边带有点颜色和组。
但是,当我运行代码时,我在图例中仅得到一项,并且我相当有信心颜色也不正确。这是外观的链接: capture of result
这是到目前为止我的代码:
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import cm
wagedata = pd.read_csv("premierleagewages.csv")
df = pd.DataFrame(wagedata)
x = df['AVG Annual Per Player']
y = df['Points']
n = df['Team']
b = df['Rank']
fig, ax = plt.subplots()
ax.scatter(x, y, c=b,cmap=cm.nipy_spectral)
lgd = plt.legend(n, loc='center left', scatterpoints=1, fontsize=8, bbox_to_anchor=(1, 0.5))
plt.xlabel('AVG Annual Pay')
plt.ylabel('Points through 19 games')
fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')
print(plt.show())
我已经观察了大约3个小时的stackoverflow,但是我还没有发现任何具体的东西。我确实发现有人was asking与条形图有相似之处,但是解决方案没有帮助。
我还认为可能很难排列颜色,因为我根据排名以外的数字来称呼它们,而不是为每个团队手动设置颜色?
任何帮助将不胜感激!另外,我是这里的新手,所以如果我做错了什么或什么没做,请告诉我!