如何根据条形图的值在matplotlib中创建自定义图例?

据说,我有如下的barplot:

例如,第4周的日期是指周三,是否可以创建表示4周三的自定义图例?

而且,如果我有星期几,例如3和4,那么星期二.如果条形图中仅显示第3周中的第3天,如何在自定义图例(3 – 星期二)中添加另一个图例?

谢谢!

最佳答案 我不清楚你想要完成什么,但这可能是你想做的事情的一种方式:

import matplotlib.pyplot as plt
daysofweek = {1:('Sunday','r'), 
              2:('Monday','g'), 
              3:('Tuesday','b'), 
              4:('Wednesday','yellow'), 
              5:('Thursday','k'), 
              6:('Friday', 'magenta'), 
              7:('Saturday', 'orange')}
ax1 = plt.subplot(111)

xval = [2., 4., 7.]
yval = [2.5, 3.6, 2.7]

for j in range(len(xval)):
    ax1.bar(xval[j], yval[j], width=0.8, bottom=0.0, align='center', color=daysofweek[xval[j]][1], alpha=0.6, label=daysofweek[xval[j]][0])
ax1.set_xticks(xval)
ax1.set_xticklabels([daysofweek[i][0] for i in xval])
ax1.legend()
plt.show()

结果是:

点赞