Python使用统计函数绘制简单图形实例代码


Posted in Python onMay 15, 2019

前言

Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

用matplotlib绘制一些大家比较熟悉又经常混淆的统计图形,掌握这些统计图形可以对数据可视化有一个深入理解。

Windows 系统安装 Matplotlib

进入到 cmd 窗口下,执行以下命令:

python -m pip install -U pip setuptools
python -m pip install matplotlib

Linux 系统安装 Matplotlib

可以使用 Linux 包管理器来安装:

Debian / Ubuntu:

sudo apt-get install python-matplotlib

Fedora / Redhat:

sudo yum install python-matplotlib

Mac OSX 系统安装 Matplotlib

Mac OSX 可以使用 pip 命令来安装:

sudo python -mpip install matplotlib

安装完后,你可以使用 python -m pip list 命令来查看是否安装了 matplotlib 模块。

$ python -m pip list | grep matplotlib
matplotlib (1.3.1)

1.函数bar()--用于绘制柱状图

在x轴上绘制定性数据的分布特征

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False

x=[1,2,3,4,5,6,7,8]
y=[3,1,4,5,8,9,7,2]
plt.bar(x,y,align="center",color="c",tick_label=["q","a","c","e","r","j","b","p"],hatch="/")
plt.xlabel("箱子编号")
plt.ylabel("箱子重量(kg)")
plt.show()

Python使用统计函数绘制简单图形实例代码2.

2、函数barh()--用于绘制条形图

在y轴上绘制定性数据的分布特征

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False

x=[1,2,3,4,5,6,7,8]
y=[3,1,4,5,8,9,7,2]
plt.barh(x,y,align="center",color="c",tick_label=["q","a","c","e","r","j","b","p"],hatch="/")
plt.xlabel("箱子编号")
plt.ylabel("箱子重量(kg)")
plt.show()

Python使用统计函数绘制简单图形实例代码3.

3、函数hist()--用于绘制直方图

在x轴上绘制定量数据的分布特征

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

#set test scores
boxWeight = np.random.randint(0,10,100)
x = boxWeight
#plot histogram
bins = range(0,11,1)
plt.hist(x,bins=bins,
  color="g",
  histtype="bar",
  rwidth=1,
  alpha=0.6)
#set x,y-axis label
plt.xlabel("箱子重量(kg)")
plt.ylabel("销售数量(个)")
plt.show()

Python使用统计函数绘制简单图形实例代码

4.函数pie()--用于绘制饼图

绘制定性数据的不同类别的百分比

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False

kinds ="简易箱","保温箱","行李箱","密封箱"
colors = ["#e41a1c","#377eb8","#4daf4a","#984ea3"]
soldNums = [0.05,0.45,0.15,0.35]
#pie chart
plt.pie(soldNums,
 labels=kinds,
 autopct="%3.1f%%",
 startangle=60,
 colors=colors)
plt.title("不同类型箱子的销售数量占比")
plt.show()

Python使用统计函数绘制简单图形实例代码

5.函数polar()--用于绘制极线图

在极坐标图上绘制折线图

import matplotlib.pyplot as plt
import numpy as np
barSlices = 12
theta = np.linspace(0.0,2*np.pi,barSlices,endpoint=False)
r = 30*np.random.rand(barSlices)
plt.polar(theta,r, #theta每个标记所在射线与极径的夹角,r每个标记到原点的距离
  color="chartreuse",
  linewidth=2,
  marker="*",
  mfc="b",
  ms=10)
plt.show()

Python使用统计函数绘制简单图形实例代码

6.函数scatter()--用于绘制气泡图

二维数据借助气泡图大小展示三维数据

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
a = np.random.randn(100)
b = np.random.randn(100)
#colormap:RdYlBu
plt.scatter(a,b,s=np.power(10*a+20*b,2),#s散点标记的大小
  c=np.random.rand(100),#c散点标记的颜色
  cmap=mpl.cm.RdYlBu,#将浮点数映射成颜色的颜色映射表
  marker='o')
plt.show()

Python使用统计函数绘制简单图形实例代码

7.函数stem()--用于绘制棉棒图

绘制离散的有序数据

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.5,2*np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt="-.",markerfmt="o",basefmt="-")
linefmt棉棒的样式、markerfmt棉棒末端的样式、basefmt指定基线的样式
plt.show()

Python使用统计函数绘制简单图形实例代码

8.函数boxplot()--用于绘制箱型图

绘制箱型图

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

x = np.random.randn(1000)
plt.boxplot(x)
plt.xticks([1],["随机数生成器AlphaRM"])
plt.ylabel("随机数值")
plt.title("随机数生成器抗干扰能力的稳定性")
plt.grid(axis="y",ls=":",lw=1,color="gray",alpha=0.4)
plt.show()

Python使用统计函数绘制简单图形实例代码

9.函数errorbar()--用于绘制误差棒图

绘制y轴方向或是x轴方向的误差范围

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1,0.6,6)
y = np.exp(x)
plt.errorbar(x,y,fmt="bo:",yerr=0.2,xerr=0.02)
plt.xlim(0,0.7)
plt.show()

Python使用统计函数绘制简单图形实例代码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
详解Python中__str__和__repr__方法的区别
Apr 17 Python
Python函数的周期性执行实现方法
Aug 13 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
Python中的函数作用域
May 07 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 Python
python实现将汉字保存成文本的方法
Nov 16 Python
django 捕获异常和日志系统过程详解
Jul 18 Python
python实现超级马里奥
Mar 18 Python
python 下载文件的多种方法汇总
Nov 17 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
python requests模块的使用示例
Apr 07 Python
详解Python中的for循环
Apr 30 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 #Python
python语言元素知识点详解
May 15 #Python
django admin后台添加导出excel功能示例代码
May 15 #Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 #Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 #Python
Python发展简史 Python来历
May 14 #Python
Python基础知识点 初识Python.md
May 14 #Python
You might like
提升PHP执行速度全攻略(上)
2006/10/09 PHP
php桌面中心(三) 修改数据库
2007/03/11 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
vue按需加载实例详解
2019/09/06 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
[01:24]DOTA2上海特锦赛OG战队抵达 专车接机入驻总统套房
2016/02/23 DOTA
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
Python多进程编程常用方法解析
2020/03/26 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
销售经理工作职责范文
2013/12/03 职场文书
财务人员求职自荐书范文
2014/02/10 职场文书
法律进企业活动方案
2014/03/04 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
行政处罚事先告知书
2015/07/01 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js