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设计模式编程之工厂方法模式的使用
Mar 02 Python
Python while 循环使用的简单实例
Jun 08 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
Python使用asyncio包处理并发详解
Sep 09 Python
python编写分类决策树的代码
Dec 21 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 Python
Python lambda函数基本用法实例分析
Mar 16 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
pandas数据分组groupby()和统计函数agg()的使用
Mar 04 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
什么是MVC,好东西啊
2007/05/03 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
newxtree.js代码
2007/03/13 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
python如何对实例属性进行类型检查
2018/03/20 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
中学家长会邀请函
2014/01/17 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
村委会换届选举方案
2014/05/03 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书
工伤认定行政答辩状
2015/05/22 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
HTML中link标签属性的具体用法
2023/05/07 HTML / CSS