侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

Python  /  管理员 发布于 7年前   193

前言

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

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

Windows 系统安装 Matplotlib

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

python -m pip install -U pip setuptoolspython -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 matplotlibmatplotlib (1.3.1)

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

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

import matplotlib as mplimport matplotlib.pyplot as pltmpl.rcParams["font.sans-serif"]=["SimHei"]mpl.rcParams["axes.unicode_minus"]=Falsex=[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()

2.

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

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

import matplotlib as mplimport matplotlib.pyplot as pltmpl.rcParams["font.sans-serif"]=["SimHei"]mpl.rcParams["axes.unicode_minus"]=Falsex=[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()

3.

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

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

import matplotlib as mplimport matplotlib.pyplot as pltimport numpy as npmpl.rcParams["font.sans-serif"]=["SimHei"]mpl.rcParams["axes.unicode_minus"]=False#set test scoresboxWeight = np.random.randint(0,10,100)x = boxWeight#plot histogrambins = range(0,11,1)plt.hist(x,bins=bins,  color="g",  histtype="bar",  rwidth=1,  alpha=0.6)#set x,y-axis labelplt.xlabel("箱子重量(kg)")plt.ylabel("销售数量(个)")plt.show()

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

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

import matplotlib as mplimport matplotlib.pyplot as pltmpl.rcParams["font.sans-serif"]=["SimHei"]mpl.rcParams["axes.unicode_minus"]=Falsekinds ="简易箱","保温箱","行李箱","密封箱"colors = ["#e41a1c","#377eb8","#4daf4a","#984ea3"]soldNums = [0.05,0.45,0.15,0.35]#pie chartplt.pie(soldNums, labels=kinds, autopct="%3.1f%%", startangle=60, colors=colors)plt.title("不同类型箱子的销售数量占比")plt.show()

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

在极坐标图上绘制折线图

import matplotlib.pyplot as pltimport numpy as npbarSlices = 12theta = 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()

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

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

import matplotlib.pyplot as pltimport matplotlib as mplimport numpy as npa = np.random.randn(100)b = np.random.randn(100)#colormap:RdYlBuplt.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()

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

绘制离散的有序数据

import matplotlib.pyplot as pltimport numpy as npx = 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()

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

绘制箱型图

import matplotlib.pyplot as pltimport matplotlib as mplimport numpy as npmpl.rcParams["font.sans-serif"]=["SimHei"]mpl.rcParams["axes.unicode_minus"]=Falsex = 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()

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

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

import matplotlib.pyplot as pltimport numpy as npx = 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做定时任务及时了解互联网动态
    下一条:
    详解Python3 对象组合zip()和回退方式*zip
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客