python画长方形-怎么用python 画出任意占空比的一串矩形方波呢?
谢邀!
解决你这个问题的难点主要在生成作图所需的数据上,即连点成线的数据。为了解需要生成什么数据,可以先来看下方波图长什么样子,涉及了哪些元素。 />
观察这个示例图,一个周期内需要四个点。方波图组成元素有:x轴的范围,图中的x轴范围是0-20;
x轴上一个周期的长度,图中是1;
x轴上一个周期内高低位占比,图中各占50%;
y轴上一个周期内高低位的值,图中是1和0;
y轴上一个周期的初始位置是高位还是低位;
了解了这些,就可以编写绘图所需数据的生成函数了,代码如下:
def rect_square_wave(origin=0, size=20, ratio=0.5, x_unit=1, y0=0, y1=1):
"""
Parameters
----------
origin: number
x 起始位置
size: int
矩阵方波周期数
ratio: number
一个周期中第一部分占比
x_unit: number
x轴中一个周期的长度
y0: number
y轴上周期内第一部分的值
y1: number
y轴上周期内第二部分的值
Returns
-------
返回值可理解二维数据,示例如下:
[[ 0. , 0. ],
[ 0.5, 0. ],
[ 0.5, 2. ],
[ 1. , 2. ],
...
[19. , 0. ],
[19.5, 0. ],
[19.5, 2. ],
[20. , 2. ]]
"""
d = []
for start in range(origin, origin + x_unit * size, x_unit):
d.append((start, y0))
middle = start + x_unit * ratio
d.append((middle, y0))
d.append((middle, y1))
end = start + x_unit
d.append((end, y1))
return d
关于函数的使用,在注释部分已经作了详细说明,而占比主要使用的就是其中ratio参数。不一定足够完美,题主可以在了解了代码后,尝试自己修改。比如周期内的状态如果不止两种,可以修改下for循环中的数据生成代码,从而实现多种状态数据的生成。
下面就可以用它来生成数据和作图了。假设将要绘制的矩形方波图需满足如下几个要求:高低位分别是1和-1,起始位置为0,周期20,每个周期的长度为1,高低占比是0.3和0.7。示例代码如下:
import numpy as np
import matplotlib.pyplot as plt
d = np.array(rect_square_wave(origin=0, size=20, ratio=0.3, x_unit=1, y0=1, y1=-1))
plt.figure(figsize=(15, 5))
plt.plot(d[:, 0], d[:, 1])
需要说明下,因为plot函数接收的前两个参数分别x和y序列,而数据生成函数返回的是一个二维列表,所以这里使用了numpy的切片功能对数据做了些处理。
图形如下: />
回答结束,希望对你能有所帮助。
python画长方形-怎么用python 画出任意占空比的一串矩形方波呢?相关推荐
- python打印长方形_利用python打印出菱形、三角形以及矩形的方法实例
前言 本文主要给大家介绍了关于利用python打印出菱形.三角形以及矩形的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 实例代码 #coding:utf-8 rows = int ...
- 用python画漂亮图片-使用 Python/matplotlib 画出漂亮的论文插图
论文中画出各种绚烂的插图,都是用一些什么样的软件画出来的.本文介绍 Python 的绘图模块 matplotlib: Python plotting.适用于从 2D 到 3D,从标量到矢量的各种绘图. ...
- 用python画漂亮图-使用 Python/matplotlib 画出漂亮的论文插图
论文中画出各种绚烂的插图,都是用一些什么样的软件画出来的.本文介绍 Python 的绘图模块 matplotlib: Python plotting.适用于从 2D 到 3D,从标量到矢量的各种绘图. ...
- python 用画布组件画直方图_7招用Python画出酷酷的|散点直方图
原标题:7招用Python画出酷酷的|散点直方图 这是菜鸟学Python的第103篇原创文章 数据可视化前面已经写了2篇(,),今天我们接着来讲比较常见的散点图和直方图.这两种图用法上各有千秋,散点图 ...
- python怎么画长方形_Python如何绘制长方形?
Python绘制长方形(矩形),目前来说,有2种基本方法,一种是matplotlib,专门用于可视化绘图,一种是turtle,专门用于动态绘图,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下: 01 ...
- 如何用python画长方形_Python如何绘制长方形
用python绘制长方形的基本步骤: 首先先下载安装好python程序. 在我们自己的电脑上找到python 的IDLE工具. 2.然后打开IDLE,新建一个文件,命名为test1.py 相关推荐:& ...
- Python测试题(绘制柱状图、画出sin函数图像、散点图、pandas实现列表)
Python 1. 绘制一个柱状图,写出代码,要求: x = [1,2,3,4,5,6,7,8] y = [3,1,4,5,8,9,7,2] 图形最后形式如下图所示: import matplotli ...
- python画超长图-利用Python画图,千变万化,各种画图技巧!
如图所示,利用Python的turtle画了一个美国队长盾牌的标志: # 所需依赖:python3 sublime Python代码: # print 打印 print('hello world!') ...
- python中画圆的代码_Python编程12:Python画图之turtle库如何画圆
#少儿编程# 从上一篇开始,我将和小朋友们一起用Python语言来画图.turtle库是Python语言中一个很流行的绘制图像的库,上一篇我们已经知道如何使用turtle库,如何使用turtle库的函 ...
最新文章
- 区块链相关论文研读1- 关于边缘计算
- 无电路板的微型电路制作
- poj 2482 Stars in Your Window (线段树扫描线)
- 柯南变声器的算法实现原理
- 百度运营专家:互联网运营必读书目(实用推荐)
- VTK:PolyData之ExtractOutsideSurface
- Emoji表情符号兼容方案(适用ios,android,wp等平台)
- SAP Spartacus Set Active BaseSite action执行的时间点 - Route路由触发方式
- 如何编写高性能的C#代码(四)字符串的另类骚操作
- 使用storm 实时计算_使用Storm进行可扩展的实时状态更新
- 前端学习(1285):node运行环境安装
- c++ 编译添加dll_Windows下osg编译
- 走进PV,UV,IP,session
- PREV-55 小计算器 (进制转换)
- 计算机科学与工程国际研讨会,2018年北京计算机科学与技术国际研讨会
- FME 坐标系使用(二)----关于Beijing54坐标系和Xian80坐标系说明的补充
- 实现MySQL读写分离---maxscale代理服务器配置(详解)
- 新广告法违规词、敏感词在线检测工具 淘宝违规词检测、查询
- 计算机u盘能直接拨出吗,电脑怎么直接拔出U盘而不丢失数据|电脑可以不用弹出设备直接拔出U盘吗...
- css 小尖角,css如何实现气泡的小尖角效果 css实现气泡的小尖角效果代码示例