3.7课堂练习——添加表格

# matplotlib中文网 https://www.matplotlib.org

# 需求一: 图例用4列展示
# 需求二: 表格填充你喜欢的任意颜色
# 需求三: 调整图例和表格位置,如运行效果图所示(不要求完全一致,但应做到相似度8成以上)。


导入必要的模块 :

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]
plt.pie(weight, autopct='%3.1f%%')

添加图例:

函数的语法格式:

        matplotlib.pyplot.legend(*args, **kwargs) 

常用参数表示的含义:

handles:表示由图形标识构成的列表
labels:表示由图列项构成的列表
loc:用于控制图例在图表中的位置
bbox_to_anchor:用于控制图例的布局
ncol:表示图例的列数,默认值为1
title:表示图例的标题,默认值为None
shadow:表示是否在图例后面显示阴影,默认值为None
fancybox:表示是否为图例设置圆角边框,默认值为None

 添加图例(通过bbox_to_anchor精细调整图例位置)

# 添加图例
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.0, 0.8],ncol=4)  

 填充表格颜色:

# 填充表格颜色
pink=['pink','pink','pink','pink','pink','pink','pink','pink']    
colors=['blue','orange','green','red','purple','brown','pink','grey']

添加表格 (通过bbox精细调整表格位置和大小)

函数的语法格式:

        matplotlib.pyplot.table(cellText=None, cellColours=None, cellLoc='right', colWidths=None, rowLabels=None, rowColours=None, rowLoc='left', colLabels=None, colColours=None, colLoc='center', loc='bottom', bbox=None, edges='closed', **kwargs)

常用参数表示的含义:

cellText:表示表格单元格中的数据,可以是一个二维列表。

cellColours:表示单元格的背景颜色。
cellLoc:表示单元格文本的对齐方式,支持'left'、'center'、'right'三种取值,默认为'right'。
colWidths:表示每列的宽度。
rowLabels:表示行标题的文本。

rowColours:表示行标题的颜色

rowLoc:表示行标题的对齐方式,支持‘left'、‘center’、‘right’三种取值,默认值是‘left’。
colLabels:表示列标题的文本。
colColours:表示列标题所在单元格的背景颜色。
colLoc:表示列标题的对齐方式,默认为左对齐。
loc:表示表格与绘图区域的对齐方式。

# 添加表格

plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds,loc='bottom',
         bbox=[1.1,0.3,0.9,0.25],rowColours=['pink'],cellColours=[pink],colColours=colors)

最终代码如下:



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]
plt.pie(weight, autopct='%3.1f%%')


# 添加图例(通过bbox_to_anchor精细调整图例位置)
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.0, 0.8],ncol=4)  

# 添加表格(通过bbox精细调整表格位置和大小)

pink=['pink','pink','pink','pink','pink','pink','pink','pink']     # 填充表格颜色
colors=['blue','orange','green','red','purple','brown','pink','grey']

plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds,loc='bottom',
         bbox=[1.1,0.3,0.9,0.25],rowColours=['pink'],cellColours=[pink],colColours=colors)
		  
plt.show()

运行结果如下: 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值