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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
学习python之编写简单乘法口诀表实现代码
Feb 27 Python
Python 基于Twisted框架的文件夹网络传输源码
Aug 28 Python
python的dataframe和matrix的互换方法
Apr 11 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
详解Django的CSRF认证实现
Oct 09 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
Python基础之高级变量类型实例详解
Jan 03 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
Python验证码截取识别代码实例
May 16 Python
Python中的Cookie模块如何使用
Jun 04 Python
详解OpenCV获取高动态范围(HDR)成像
Apr 29 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 curl的深入解析
2013/06/02 PHP
php图片裁剪函数
2018/10/31 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
python str与repr的区别
2013/03/23 Python
Python手机号码归属地查询代码
2016/05/04 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
python批量处理txt文件的实例代码
2020/01/13 Python
基于FME使用Python过程图解
2020/05/13 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
药学专业大专生的自我评价
2013/12/12 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
2014年体育工作总结
2014/11/24 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
Oracle中update和select 关联操作
2022/01/18 Oracle
Python语言内置数据类型
2022/02/24 Python
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技