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进阶教程之函数参数的多种传递方法
Aug 30 Python
Python入门篇之对象类型
Oct 17 Python
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
Python编写百度贴吧的简单爬虫
Apr 02 Python
python集合用法实例分析
May 30 Python
Python Property属性的2种用法
Jun 21 Python
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
Python 循环语句之 while,for语句详解
Apr 23 Python
python实现五子棋小游戏
Mar 25 Python
初次部署django+gunicorn+nginx的方法步骤
Sep 11 Python
关于Python中定制类的比较运算实例
Dec 19 Python
Python PyInstaller安装和使用教程详解
Jan 08 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实现在站点里面添加邮件发送的功能
2020/04/28 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
python类和函数中使用静态变量的方法
2015/05/09 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
台湾家适得:Homeget
2019/02/11 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
财经学院自荐信范文
2014/02/02 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
暑期培训随笔感言
2014/03/10 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
赡养老人协议书
2014/04/21 职场文书
导游词之崇武古城
2019/10/07 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
alibaba seata服务端具体实现
2022/02/24 Java/Android
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js
Java 超详细讲解ThreadLocal类的使用
2022/04/07 Java/Android