赞
踩
1.问题描述
使用matplotlib库的pyplot模块提供的绘图函数绘制饼状图。
2.问题分析
这里以水果的销量为例,来绘制一个饼状图。
3.算法分析
要绘制一个饼状图,可以使用matplotlib模块下pyplot所提供的函数方法来进行绘
制,具体如下:
- # 绘制饼状图
- ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow= True, startangle=90 )
4.完整的程序
根据上面的分析,编写程序如下:
- #!/usr/bin/python3
- # -*- coding: utf-8 -*-
- # @author : liuhefei
- # @desc: 绘制饼状图
- import matplotlib.pyplot as plt
- if __name__ == "__main__":
- plt.rcParams['font.sans-serif'] = ['SimHei'] # 用于正常显示中文标签
- labels = '苹果', '香蕉', '雪梨', '西瓜', '葡萄'
- sizes = [10, 15, 8, 62, 5]
- explode = (0, 0, 0, 0.1, 0) # 分割出第二个分片
- fig1, ax1 = plt.subplots() # 设置多个子图
- ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
- shadow=True, startangle=90 ) # 绘制饼状图
- ax1.axis('equal') # 保证饼图绘制出来以后是圆形
- plt.title('水果销量图') # 设置标题
- plt.show()

在PyCharm下运行程序,结果如图11.15所示。
5.拓展训练
使用matplotlib库的pyplot模块提供的函数绘制散点图。
关于matplotlib库的pyplot模块提供的函数在前面已经介绍过了,这里不再陈述。
完整的实例代码如下:
- #!/usr/bin/python3
- # -*- coding: utf-8 -*-
- # @author : liuhefei
- # @Time : 2019/8/10 23:32
- # @desc: 绘制散点图
- import matplotlib.pyplot as plt
- import numpy as np
- # 定义生成y值的函数
- def cData(n):
- a1 = np.cos(2 * np.pi * n)
- b1 = np.exp(-n)
- return a1 * b1
- if __name__ == "__main__":
- plt.rcParams['font.sans-serif'] = ['SimHei'] # 用于正常显示中文标签
- plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
- d1 = np.arange(0.0, 6.0, 0.3) # 生成一维数组序列
- point = plt.plot(d1, cData(d1), 'ro') # 绘制
- plt.setp(point, 'markersize', 20) # 设置数据点的大小
- plt.setp(point, 'markerfacecolor', 'g') # 设置数据点的颜色
- 散点图
- plt.title('散点图')
- plt.show()

在PyCharm下运行程序,结果如图11.16所示。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。