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

如何在Matplotlib中实现图例放大或设置粗边框?

调整Matplotlib图例大小与边框样式的简便方法

没问题,这两个需求都能轻松搞定!我结合你的柱状图代码给你具体演示怎么操作:

一、放大图例(调整文字大小)

想要放大图例里的文字,有两种常用方式:

  • 直接在plt.legend()中设置:通过fontsize参数指定字号,数值越大文字越大(默认一般是10,你可以根据需求调整)
  • 通过图例对象后续调整:先获取图例实例,再调用set_fontsize()方法修改

示例代码(直接设置字号)

import numpy as np
import matplotlib.pyplot as plt

# 先定义示例随机整数(你替换成自己的即可)
a,b,c,d,e = 10,20,15,25,30
f,g,h,i,j = 12,18,22,28,16
k,l,m,n,o = 8,24,19,21,26

group_a = (a,b,c,d,e)
group_b = (f,g,h,i,j)
group_c = (k,l,m,n,o)
width = 0.2
x = np.arange(5)
plt.bar(x-0.2, group_a, width, color = 'cyan')
plt.bar(x, group_b, width, color = 'orange')
plt.bar(x+0.2, group_c, width, color = 'green')
plt.xticks(x, ['1','2','3','4','5'])
plt.xlabel("quarter")
plt.ylabel('%')
# 设置图例文字大小为12,比默认更大
plt.legend(['Group A','Group B','Group C'], fontsize=12)
print(f'Group A: {a},{b},{c},{d},{e}')
print(f'Group B: {f},{g},{h},{i},{j}')
print(f'Group C: {k},{l},{m},{n},{o}')
plt.show()

如果需要后续调整,你可以改成这样:

# 先创建图例并获取对象
leg = plt.legend(['Group A','Group B','Group C'])
# 再设置更大的字号,比如14
leg.set_fontsize(14)

二、设置图例边框为粗体(加粗边框)

要让图例边框变粗,核心是调整边框的线宽,同样有两种方式:

  • 直接在plt.legend()中设置:用edgewidth参数指定线宽,数值越大边框越粗
  • 通过图例对象调整:调用set_linewidth()方法,还能配合set_edgecolor()修改边框颜色

示例代码(同时设置放大和加粗边框)

import numpy as np
import matplotlib.pyplot as plt

# 示例随机整数
a,b,c,d,e = 10,20,15,25,30
f,g,h,i,j = 12,18,22,28,16
k,l,m,n,o = 8,24,19,21,26

group_a = (a,b,c,d,e)
group_b = (f,g,h,i,j)
group_c = (k,l,m,n,o)
width = 0.2
x = np.arange(5)
plt.bar(x-0.2, group_a, width, color = 'cyan')
plt.bar(x, group_b, width, color = 'orange')
plt.bar(x+0.2, group_c, width, color = 'green')
plt.xticks(x, ['1','2','3','4','5'])
plt.xlabel("quarter")
plt.ylabel('%')
# 同时设置图例文字放大(fontsize=12)和边框加粗(edgewidth=2)
plt.legend(['Group A','Group B','Group C'], fontsize=12, edgewidth=2)
print(f'Group A: {a},{b},{c},{d},{e}')
print(f'Group B: {f},{g},{h},{i},{j}')
print(f'Group C: {k},{l},{m},{n},{o}')
plt.show()

如果想自定义边框颜色,比如改成深灰色,可以这样:

leg = plt.legend(['Group A','Group B','Group C'])
leg.set_linewidth(3)  # 边框线宽设为3
leg.set_edgecolor('#333333')  # 设置深灰色边框

这样调整后,你就能得到文字放大、边框加粗的图例了,完全适配你的柱状图需求!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 19:47:37