import datetime
import matplotlib.pyplot as plt
# 绘制柱状图
# ...
# 添加最大日期和值标签
max_value = max(data)
max_index = data.index(max_value)
max_date = dates[max_index]
plt.annotate('max: {} ({})'.format(max_value, max_date.strftime('%Y-%m-%d')),
xy=(max_index, max_value),
xytext=(max_index, max_value*1.2),
horizontalalignment='center',
arrowprops=dict(facecolor='red', shrink=0.05))
# 添加最小日期和值标签
min_value = min(data)
min_index = data.index(min_value)
min_date = dates[min_index]
plt.annotate('min: {} ({})'.format(min_value, min_date.strftime('%Y-%m-%d')),
xy=(min_index, min_value),
xytext=(min_index, min_value*0.8),
horizontalalignment='center',
arrowprops=dict(facecolor='blue', shrink=0.05))
# 显示图形
plt.show()
解释:使用annotate函数添加标签时,可以使用datetime模块格式化日期字符串。首先找到最大和最小值的索引,然后根据索引获取相应的日期,并将日期转换为所需的格式。最后将标签添加到柱状图上方和下方,并使用箭头指向对应的柱状图。
上一篇:标签上的图标导致程序无法运行
下一篇:标签上没有显示文本