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函数可变参数定义及其参数传递方式实例详解
May 25 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
python的pip安装以及使用教程
Sep 18 Python
Python使用pyshp库读取shapefile信息的方法
Dec 29 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
django-利用session机制实现唯一登录的例子
Mar 16 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
Jul 03 Python
Django使用django-simple-captcha做验证码的实现示例
Jan 07 Python
Pytorch实现图像识别之数字识别(附详细注释)
May 11 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
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
中海讯通笔试题
2015/09/15 面试题
会议邀请函范文
2014/01/09 职场文书
单位活动策划方案
2014/08/17 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
授权委托书(完整版)
2014/09/10 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
李强优秀员工观后感
2015/06/16 职场文书
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers