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

San*_*nez 5 python matplotlib bar-chart dataframe pandas

据说,我有如下条形图:

示例条形图

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

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

谢谢!

Joe*_*oom 1

我并不完全清楚你想要完成什么,但这可能是做你想做的事情的一种方法:

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()
Run Code Online (Sandbox Code Playgroud)

结果是: 在此输入图像描述