Matplotlib柱状图:配置颜色-数据键图例并移除Y轴键标识
解决Matplotlib图例与Y轴标识问题
以下是修改后的代码,可实现你需要的效果:
import matplotlib.pyplot as plt from matplotlib.patches import Patch data = { "key 1" : 3, "key 2" : 5, "key 3" : 7 } colors = { "key 1" : "red", "key 2" : "green", "key 3" :"blue" } x = data.keys() y = data.values() plt.bar(x, y, color=[colors[k] for k in data]) # 创建自定义图例元素,对应每个key和颜色 legend_elements = [Patch(facecolor=colors[key], label=key) for key in data] plt.legend(handles=legend_elements) # 移除Y轴上的刻度标识(若需移除Y轴标签,可替换为plt.ylabel('')) plt.yticks([]) plt.show()
修改说明:
- 修正图例显示:原代码用
plt.legend(y)把数值作为图例内容,现在通过Patch对象手动创建每个key对应颜色的图例条目,确保图例显示为「颜色 - key」的对应关系。 - 移除Y轴键标识:使用
plt.yticks([])隐藏Y轴的刻度标识;如果你的需求是移除Y轴的轴标签(而非刻度),可以将该行替换为plt.ylabel('')。
内容的提问来源于stack exchange,提问作者CH4
相关产品推荐
相关产品推荐

