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 Web框架Flask信号机制(signals)介绍
Jan 01 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
python取代netcat过程分析
Feb 10 Python
python如何在列表、字典中筛选数据
Mar 19 Python
python 多个参数不为空校验方法
Feb 14 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
Jul 03 Python
python使用递归的方式建立二叉树
Jul 03 Python
python scipy卷积运算的实现方法
Sep 16 Python
python 读写文件包含多种编码格式的解决方式
Dec 20 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
python+playwright微软自动化工具的使用
Feb 02 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
第八节 访问方式 [8]
2006/10/09 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
html+js实现动态显示本地时间
2013/09/21 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
[01:57]2018年度DOTA2最具潜力解说-完美盛典
2018/12/16 DOTA
Python 列表list使用介绍
2014/11/30 Python
Python中pygame安装方法图文详解
2015/11/11 Python
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
Python操作mongodb的9个步骤
2018/06/04 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
交警正风肃纪剖析材料
2014/10/29 职场文书
学校捐书活动总结
2015/05/08 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL