matplotlib阶梯图的实现(step())


Posted in Python onMarch 02, 2021

step函数概述

step函数用于绘制阶梯图。

根据源码可知,step函数是对plot函数的轻量级封装,很多概念和用法与plot函数非常相似。

def step(self, x, y, *args, where='pre', data=None, **kwargs):
 cbook._check_in_list(('pre', 'post', 'mid'), where=where)
 kwargs['drawstyle'] = 'steps-' + where
 return self.plot(x, y, *args, data=data, **kwargs)

step函数签名:

matplotlib.pyplot.step(x, y, *args, where='pre', data=None, **kwargs)

step函数调用签名:

step(x, y, [fmt], *, data=None, where='pre', **kwargs)
step(x, y, [fmt], x2, y2, [fmt2], ..., *, where='pre', **kwargs)

其中:

  • x:类数组结构,一维x轴坐标序列。一般假设x轴坐标均匀递增。必备参数。
  • y:类数组结构,一维y轴坐标序列。必备参数。
  • fmt:格式字符串,与plot函数的fmt参数类似。可选参数。官方建议只设置颜色格式。
  • data:可索引数据,类似于plot函数。可选参数。
  • **kwargs:类似于plot函数。
  • where :设置阶梯所在位置,取值范围为{'pre', 'post', 'mid'},默认值为'pre'。

 案例:使用step函数和plot函数演示不同where参数的效果

通过案例可知,step函数可以认为是plot函数绘制阶梯图的一个特例。

matplotlib阶梯图的实现(step())

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(14)
y = np.sin(x / 2)

plt.figure(figsize=(12,5))
plt.subplot(121)
plt.step(x, y + 2, label='pre (default)')
plt.plot(x, y + 2, 'o--', color='grey', alpha=0.3)

plt.step(x, y + 1, where='mid', label='mid')
plt.plot(x, y + 1, 'o--', color='grey', alpha=0.3)

plt.step(x, y, where='post', label='post')
plt.plot(x, y, 'o--', color='grey', alpha=0.3)

plt.grid(axis='x', color='0.95')
plt.legend(title='Parameter where:')
plt.title('plt.step(where=...)')

plt.subplot(122)
plt.plot(x, y + 2, drawstyle='steps', label='steps (=steps-pre)')
plt.plot(x, y + 2, 'o--', color='grey', alpha=0.3)

plt.plot(x, y + 1, drawstyle='steps-mid', label='steps-mid')
plt.plot(x, y + 1, 'o--', color='grey', alpha=0.3)

plt.plot(x, y, drawstyle='steps-post', label='steps-post')
plt.plot(x, y, 'o--', color='grey', alpha=0.3)

plt.grid(axis='x', color='0.95')
plt.legend(title='Parameter drawstyle:')
plt.title('plt.plot(drawstyle=...)')
plt.show()

到此这篇关于matplotlib阶梯图的实现(step())的文章就介绍到这了,更多相关matplotlib 阶梯图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的anydbm模版和shelve模版使用指南
Jul 09 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
python发送邮件脚本
May 22 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
Python3几个常见问题的处理方法
Feb 26 Python
numpy数组广播的机制
Jul 12 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
pytorch 归一化与反归一化实例
Dec 31 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
Jan 14 Python
python模拟实现分发扑克牌
Apr 22 Python
PyQt5多线程防卡死和多窗口用法的实现
Sep 15 Python
解决numpy和torch数据类型转化的问题
May 23 Python
Python读写Excel表格的方法
Mar 02 #Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 #Python
python中Pexpect的工作流程实例讲解
Mar 02 #Python
Opencv 图片的OCR识别的实战示例
Mar 02 #Python
python实现控制台输出颜色
Mar 02 #Python
python 如何在测试中使用 Mock
Mar 01 #Python
python装饰器代码深入讲解
Mar 01 #Python
You might like
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
PHP Opcache安装和配置方法介绍
2015/05/28 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
Python压缩和解压缩zip文件
2015/02/14 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
解决Python使用列表副本的问题
2019/12/19 Python
python序列化与数据持久化实例详解
2019/12/20 Python
Python如何急速下载第三方库详解
2020/11/02 Python
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
银行财务部实习生的自我鉴定
2013/11/27 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
初中科学教学反思
2014/01/21 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
教师考核评语
2014/04/28 职场文书
营销与策划专业求职信
2014/06/20 职场文书
档案工作汇报材料
2014/08/21 职场文书
团委工作总结2015
2015/04/02 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书