You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Matplotlib中条形图标签的字体大小?

解决Matplotlib条形图图例警告与y轴刻度字体大小修改问题

一、解决图例警告问题

报错提示No artists with labels found to put in legend的原因很明确:你调用了ax.legend(),但没有给任何绘图元素(比如这里的条形)设置label属性,Matplotlib找不到能生成图例的内容,所以抛出警告。

解决方式二选一:

  • 如果不需要图例:直接删掉ax.legend(loc='best', fontsize=25)这行代码即可。
  • 如果需要图例:给plt.barh()添加label参数,或者按分组单独绘制条形并设置对应标签,让Matplotlib能识别图例元素。

二、修改条形图标签(水果名称)的字体大小

你代码里的plt.yticks(font='Roboto', fontsize=10)其实已经能设置y轴刻度(也就是水果名称)的字体和大小,也可以用更规范的面向对象方式(通过坐标轴对象ax)来设置,效果完全一致:

# 仅设置字体大小
ax.tick_params(axis='y', labelsize=10)
# 同时设置字体和大小
ax.set_yticklabels(names, fontdict={'fontsize':10, 'fontfamily':'Roboto'})

修正后的完整代码(不需要图例的情况)

from matplotlib import pyplot as plt
from matplotlib.pyplot import figure

colorList = ['#e58725', '#04314e', '#176a94', '#176a94', '#176a94']
names = ['Apple', 'Banana', 'Orange', 'Grape', 'Cherry']
counts = [1, 2, 3, 4, 5]

figure(figsize=(8.32,5.1))
plt.barh(names, counts, color=colorList)

plt.title("My Title", fontsize=20, y=1.03)
plt.grid(visible=None)

plt.tick_params(axis=u'both', which=u'both',length=0)
plt.xticks([])
plt.yticks(font='Roboto', fontsize=10)

plt.savefig('Testing.png')

修正后的完整代码(需要图例的情况,按颜色分组)

如果想给不同颜色的条形加图例,比如区分特殊颜色和普通颜色的水果,可以这样写:

from matplotlib import pyplot as plt
from matplotlib.pyplot import figure

names = ['Apple', 'Banana', 'Orange', 'Grape', 'Cherry']
counts = [1, 2, 3, 4, 5]

figure(figsize=(8.32,5.1))
ax = plt.gca()

# 分组合绘制并设置图例标签
ax.barh(names[0], counts[0], color='#e58725', label='特殊水果')
ax.barh(names[1], counts[1], color='#04314e', label='深蓝色水果')
ax.barh(names[2:], counts[2:], color='#176a94', label='浅蓝色水果')

ax.legend(loc='best', fontsize=25)
     
plt.title("My Title", fontsize=20, y=1.03)
plt.grid(visible=None)

plt.tick_params(axis=u'both', which=u'both',length=0)
plt.xticks([])
plt.yticks(font='Roboto', fontsize=10)

plt.savefig('Testing.png')

内容的提问来源于stack exchange,提问作者jadedQuail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 19:20:02