添加自定义样式的图表辅助元素

导语

        matplotlib可以绘制各种各样的图表,以便用户发现数据间的规律。为了更加凸显数据间的规律与特点,便于用户从多元分析的角度深入挖掘数据潜在的含义,可将图表与数据表格结合使用,使用数据表格强调图表某部分的数值。matplotlib中提供了为图表添加数据表格的函数table(),该函数的语法格式如下所示:

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'、'right'和'center'三种取值,默认值为'right'。
·colWidths:表示每列的宽度。
·rowLabels:表示行标题的文本。
·rowColours:表示行标题所在单元格的背景颜色。
·rowLoc:表示行标题的对齐方式。
·colLabels:表示列标题的文本。
·colColours:表示列标题所在单元格的背景颜色。
·colLoc:表示列标题的对齐方式。
·loc:表示表格与绘图区域的对齐方式。

实操 

 一、导入模块

import matplotlib.pyplot as plt
import numpy as np
#设置中文
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%%')  #autopct:控制扇形或楔形的数值显示的字符串

 四、添加辅助元素

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

# loc:粗略调整图例在整个绘图区域上的位置

# bbox_to_anchor:精细调整图例在整个绘图区域上的位置

# ncol:设置图例的列数,这里设置了4列

#添加表格
colors = [['orange', 'orange', 'orange', 'orange','orange', 'orange', 'orange', 
           'orange']]
plt.table(cellText=[weight], cellLoc='center', colLabels=kinds, 
          rowLabels=['重量(g)'], loc='bottom', rowColours=['grey'],
          cellColours=colors, bbox=[1.15, 0.25, 0.9, 0.25],
          colColours['grey','grey','grey','grey','grey','grey','grey','grey'])

# bbox:精细调整表格的位置 (x: 0~1,  y: 0~1,  width:调整表格宽度,  height:调整表格高度) 

此处要注意的是,cellColours传入的是一个二维的列表,所以colors要加两个中括号,如果只有一个中括号,则会报以下错误:

五、展示图表

plt.show()

展示结果

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值