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写的windows服务不能启动的问题
Apr 15 Python
零基础写python爬虫之urllib2使用指南
Nov 05 Python
Python如何import文件夹下的文件(实现方法)
Jan 24 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
python八皇后问题的解决方法
Sep 27 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
Python银行系统实战源码
Oct 25 Python
Python类反射机制使用实例解析
Dec 30 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
Pyhton模块和包相关知识总结
May 12 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 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语法自动检查的Vim插件
2014/08/11 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
javascript this用法小结
2008/12/19 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
Python实现获取操作系统版本信息方法
2015/04/08 Python
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python线性方程组求解运算示例
2018/01/17 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
优秀英语专业毕业生求职信
2013/11/23 职场文书
职务任命书范本
2014/06/05 职场文书
新学期标语
2014/06/30 职场文书
2015入党个人自传范文
2015/06/26 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js