首页 > 解决方案 > 散点图图例不包括所有数据

问题描述

我正在根据来自 csv 的数据框做一个基本的散点图。我还不允许嵌入照片,但这里有一些关于它的样子的想法:

Rank  Team    Avg Annual Pay  Points
1     Man U       6534654       32
2     Man City    5993000       44

没什么太疯狂的,只是将英超球队球员的平均年薪加上他们的积分总数。排名取决于团队花费了多少。

我正在尝试做的是用散点图的点为不同的颜色来绘制它,并让图例在它旁边有点颜色和团队。

但是,当我运行我的代码时,我只得到了图例中的一项,而且我相当有信心颜色也不正确。这是一个链接到它的样子: 捕获结果

这是我的代码到目前为止的样子:

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())

我一直在查看 stackoverflow 大约 3 个小时,但我还没有找到任何具体的内容。我确实找到了一个有人在询问关于条形图的类似问题,但解决方案没有帮助。

我还认为颜色可能很难排列,因为我是根据排名以外的数字来调用它们,而不是为每个团队手动设置颜色?

任何帮助将非常感激!另外,我是新来的,所以如果我做错了什么或没有做错什么,请告诉我!

标签: pythonpandasmatplotlibscatter-plot

解决方案


推荐阅读