【1】引言
前程已经完成了使用step()函数绘制步进图的学习,今天我们会更近一步,学习楼梯图的绘制。
前述学习内容可以通过下述链接直达:
python画图|步进图基本教程_python步进-CSDN博客
【2】官网教程
点击下述链接,直达官网:
stairs(values) — Matplotlib 3.9.2 documentation
官网链接简洁高效,我们对此进行解读。
【3】代码解读
首先引入画图和计算模块:
import matplotlib.pyplot as plt #引入绘图模块 import numpy as np #引入计算模块
然后定义画图风格, 并给出数组来定义楼梯高度:
plt.style.use('_mpl-gallery') #定义绘图风格 # make data y = [4.8, 5.5, 3.5, 4.6, 6.5, 6.6, 2.6, 3.0] #定义楼梯的高度
然后直接定义要画图,并绘制楼梯图:
fig, ax = plt.subplots() #定义要画图 ax.stairs(y, linewidth=2.5) #绘制楼梯图
最后设置坐标轴并输出图像:
ax.set(xlim=(0, 8), xticks=np.arange(1, 8), ylim=(0, 8), yticks=np.arange(1, 8)) #设置坐标轴 plt.show() #输出图形
运行代码后的图像为:
图1
【4】代码改写
首先小数画图风格限制,将下述代码改为注释:
#plt.style.use('_mpl-gallery') #定义绘图风格#ax.set(xlim=(0, 8), xticks=np.arange(1, 8), #ylim=(-0, 1), yticks=np.arange(1, 8)) #设置坐标轴
然后在数组y的定义中增加一部分负数:
y = [4.8, 5.5, 3.5, 4.6, 6.5, 6.6, 2.6, 3.0,-3,-5,-6] #定义楼梯的高度
运行代码后获得图像为:
图2
至此的完整代码为:
import matplotlib.pyplot as plt #引入绘图模块
import numpy as np #引入计算模块
#plt.style.use('_mpl-gallery') #定义绘图风格
# make data
y = [4.8, 5.5, 3.5, 4.6, 6.5, 6.6, 2.6, 3.0,-3,-5,-6] #定义楼梯的高度
#t=np.linspace(0,8,100)
#y=np.sin(t)
# plot
fig, ax = plt.subplots() #定义要画图
ax.stairs(y, linewidth=2.5) #绘制楼梯图
#ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
#ylim=(-0, 1), yticks=np.arange(1, 8)) #设置坐标轴
plt.show() #输出图形
至此的测试效果表明:
stairs()函数所画楼梯“高度”对正数和负数均适用;
starirs()函数按照顺序输出图像,且楼梯的起始和结束高度都是0;
starirs()函数是按照(x[n-1],x[n])范围内绘制第n个楼梯。
注:
stairs()函数和step()函数不同:
step()函数需要给出X轴取值和对应Y轴取值,
step()函数有三种绘制“步进楼梯高度”的方式:pre((x[i-1], x[i])区间取值
y[i]
),mid((x[i-0.5], x[i+0.5])区间取值
y[i]
),post((x[i], x[i+1])区间取值
y[i]
)
【5】总结
掌握了stairs()函数绘制楼梯图的技巧。