matplotlib阶梯图的实现(step())
作者:mighty13 发布时间:2023-03-18 23:29:54
标签:matplotlib,阶梯图
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
函数绘制阶梯图的一个特例。
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()
来源:https://blog.csdn.net/mighty13/article/details/114273271


猜你喜欢
- 本文实现利用python的socketserver这个强大的模块实现套接字的并发,具体内容如下目录结构如下:测试文件请放在server_fi
- 1,查看py文件内的所有成员及快速定位到代码块如果你的py文件代码超过200行,一定要采用这个方法,能大大提高你的代码查找效率。方法1:(1
- tbody 标签表格主体(正文)。该标签用于组合 HTML 表格的主体内容。tbody 元素应该与&
- 现在我们用python代码实现感知器算法。# -*- coding: utf-8 -*-import numpy as npclass Pe
- 内容摘要合理使用渐变留白网格布局提高字体应用明确而有效的导航设计漂亮、有用的页脚介绍优秀设计和卓越设计之间的区别是比较小的。一般人可能无法解
- 本文实例讲述了Python使用sklearn库实现的各种分类算法简单应用。分享给大家供大家参考,具体如下:KNNfrom sklearn.n
- 本文为大家分享了WebStorm安装教程,供大家参考一、简介WebStorm 是jetbrains公司旗下一款JavaScript 开发工具
- 引子Tornado 是一个网络异步的的web开发框架, 并且可以利用多进程进行提高效率, 下面是创建一个多进程 tornado 程序的例子.
- 是否曾经有过这样的经历:把一个元素置于另一个元素之上,而希望下面的那个元素成为可点击的?现在,利用css的pointer-events属性即
- 这货很强大, 必须掌握文档 链接 http://docs.python.org/2/library/itertools.htmlpymotw
- 我们调用高德地图的API来计算经纬度#计算地址经纬度import requestsdef geocode(address): paramet
- PDOStatement::fetchAllPDOStatement::fetchAll — 返回一个包含结果集中所有行的数组(PHP 5
- 前言在迷宫问题中,给定入口和出口,要求找到路径。本文将讨论三种求解方法,递归求解、回溯求解和队列求解。在介绍具体算法之前,先考虑将迷宫数字化
- select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观
- asp vbs Cache缓存类属性valid,是否可用,取值前判断属性name,cache名,新建对象后赋值方法add(值,到期时间),设
- *args和 **kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字
- 如下所示:data = { "北京":{ "昌平":{"沙河":[&
- 经过dom层层注释缩小反馈终于找到问题所在。问题经过我在弹起弹窗的时候,设置了popupVisible为true然后触发了vue的updat
- 本文实例讲述了Python常用时间操作。分享给大家供大家参考,具体如下:我们先导入必须用到的一个module>>> imp
- 前言本文题目中虽然写有vue和react,但是并非vue和react相关知识,而是最基本的html5和css3的一些知识,之所以写vue,是