用matplotlib调整图例和表格在画布上的位置

图例的位置变化由title()函数中的loc参数bbox_to_anchor参数实现

plt.title(loc='位置字符串', bbox_to_anchor=(x, y, width, height))

表格的位置变化由tabke()函数中的loc参数bbox参数实现

plt.tabke( lco='位置字符串', bbox=[xmin, ymin, width, height])

实例:果酱面包配料比例

导入模块并设置中文

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

准备数据

kinds = ['面粉','全麦粉','酵母','苹果酱','鸡蛋','黄油','盐','白糖']
weight = [250, 150, 4, 250, 50, 30, 4, 20]

用i循环的方法来描绘每部分所占的百分比

total_weight = 0
for i in weight:
    total_weight += i
batching_scale = [i / total_weight for i in weight]  #所占的百分比

用pie()参数描绘饼图

plt.pie(batching_scale, autopct='%3.1f%%') #保留一位小数

用legend()来绘制图例

plt.legend(kinds,loc='upper right', bbox_to_anchor=[2.1,0.8], ncol=4)  #分成四列显示

其中,ncol参数:表示图例列数

           loc参数:调整图例在图表的位置

           bbox_to_anchor参数:微调图例的位置(会覆盖loc参数的指令)

效果图如下:

用table()来添加表格

colors = ["#e41a1c","#377eb8","#00ccff",
         "#984ea3","#e44a1c","#e33a1c",
         "#e88a1c","#184ea3"]  #设置8个颜色用于列标题
plt.table(cellText=[weight],      #导入表格内容
         cellLoc='center',        #使文本居中
         rowLabels=['重量(g)'],   #设置列标题
         colLabels=kinds,         #导入行标题
         loc= 'lower center',     
         bbox=[1.1,0.2,1,0.2], #设置表格在画布的位置
         cellColours=['y'*8],  #因表格里有8个单元格所以要*8,或者设置8种颜色
         rowColours=['y'],     #行标题的颜色
         colColours=colors)    #列标题的颜色(与上述不同,不能直接设置颜色)

plt.show()

其中,bbox参数:用来设置表格的位置和大小, 参数内前两位控制位置,后两位控制大小

          cellColours:用于每单个单元格的颜色设置

          rowColours:用于行标题的颜色填充

          colColours:用于列标题的颜色填充

最后的效果图如下:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值