matplotlib中legend图例的位置手动调整

matplotlib中legend图例的位置手动调整

以饼状图中插入图例为例来调整图例legend的位置

绘制一个饼状图
import matplotlib.pyplot as plt
# 设置显示中文为黑体
plt.rcParams['font.sans-serif'] = ['SimHei']
# 设置显示负号
plt.rcParams['axes.unicode_minus'] = False
label_list = ['0-59分','60-70分','70-80分','80-90分','90-100分']
size = [3,12,15,25,5]
colors = ['#FF9966','#FF6666','#FFCCCC','#99CCCC','#FFCC99']
explode = [0,0,0,0.01,0]

# 绘制饼状图
plt.pie(size,explode=explode,colors=colors,labels=label_list,labeldistance=1.2,shadow=True,startangle=90,pctdistance=1.5)
plt.legend(loc='upper right')
plt.show()

打印结果为:
这个图的图例子右上角,设置在右上角的参数代码为:

plt.legend(loc='upper right')

在这里插入图片描述
除了以上的upper right(右上角)以外还有其他参数可选,分别为:

stringNumber
upper right(右上角)1
upper left(左上角)2
lower right(右下角)3
lower left(左下角)4
right(右端)5
center right(居中右)6
center left(居中左)7
lower center(居中下)8
upper center(居中上)9
center(居中)10

但是从图片中依然可以看到不是足够的靠右端,这里我们可以引入第二个参数:bbox_to_anchor

label_list = ['0-59分','60-70分','70-80分','80-90分','90-100分']
size = [3,12,15,25,5]
colors = ['#FF9966','#FF6666','#FFCCCC','#99CCCC','#FFCC99']
explode = [0,0,0,0.01,0]

# 绘制饼状图
plt.pie(size,explode=explode,colors=colors,labels=label_list,labeldistance=1.2,shadow=True,startangle=90,pctdistance=1.5)
plt.legend(bbox_to_anchor=(1.2, 1.12))
plt.show()

看一下这次图例legend的效果:
在这里插入图片描述
而bbox_to_anchor=(1.2, 1.12)中的数字参数可以根据位置自己慢慢稍作调整
上面的其他参数的意义也稍作说明下:
labeldistance:设置标签文本距离圆心的位置
label:设置标签
colors:设置颜色
space:设置间距
autopct:设置圆中文本格式
shadow:设置是否有阴影
startangle:设置起始角度,默认是从0开始逆时针旋转
pctdistance:设置园内文本距离圆心的大小
patches:返回值
l_text():圆内部文本
p_text():圆外部文本

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值