我将为您翻译以下内容:
我正在尝试在下面的图形中正确获取图例。它应该只有“绿色”,“蓝色”和“红色”,并带有相应的颜色。但是显示的东西很混乱。
代码如下:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
'category':['blue','green','red','blue','green','red','blue','green','red'],
'attempts':[8955,7881,6723,100,200,300,4567,876,54],
'success':[3000,7500,2000, 256,4567,4567,7665,543,43]
})
fig,ax = plt.subplots()
plt.scatter(df['attempts'],df['success'],c=df['category'],label=df['category'])
plt.legend(loc=2)
plt.savefig('scatter.png')
plt.show()
我该如何正确地实现这个?(这里有一个类似的例子:https://pythonspot.com/matplotlib-scatterplot/,第二部分"带有分组的散点图",但它不是基于Pandas数据框架)。
groupby()
返回一个GroupBy
对象,该对象具有一个__iter__()
方法,允许使用for ... in
。 - Quang Hoang