我的数据库包含77个产品,涉及大约2000个项目。我将产品分成11组,并为每个产品创建2个数据框,其中一个包含产品1-11,例如有折扣,有其他没有折扣。我已经压缩了这些数据框,然后使用for循环创建了7个散点图,每种产品的颜色不同,折扣和不折扣的标记也不同。
我的问题是我试图添加一个图例,以显示产品1-11的颜色和标记,但是当我分配label=a['ProductId']
时,它为我提供了每个单独数据点的标签,而不是产品整个。有没有一种简单的解决方案,我到处搜索了却没有找到。我的代码是:
ScatterPlots = (Scatter1, Scatter2, Scatter3, Scatter4, Scatter5, Scatter6, Scatter7)
ScatterPlotsb = (Scatter1a, Scatter2a, Scatter3a, Scatter4a, Scatter5a, Scatter6a, Scatter7a)
zipscat = zip(ScatterPlots, ScatterPlotsb)
for a, b in zipscat:
fig = plt.figure(figsize=(10,10))
ax1 = fig.add_subplot(111)
ax1.scatter(a['Discount'], a['UnitPrice'], c=a['ProductId'], marker = ".", label='a['ProductId']')
ax1.scatter(b['Discount'], b['UnitPrice'], c=b['ProductId'], marker = "1", label='b['ProductId']')
plt.xlabel('Discount')
plt.ylabel('UnitPrice')
plt.title('Products Price vs Discount Level')
plt.show()
非常感谢您的帮助!