在给定时间表示的信号图的情况下,如何绘制标记相应时间索引的线条?
具体地说,给定一个时间索引范围为0到2.6(s)的信号图,我想为列表[0.22058956, 0.33088437, 2.20589566]
绘制指示相应时间索引的垂直红线,我该如何做呢?
发布于 2014-07-28 12:34:36
添加将覆盖整个绘图窗口的垂直线而无需指定其实际高度的标准方法是plt.axvline
import matplotlib.pyplot as plt
plt.axvline(x=0.22058956)
plt.axvline(x=0.33088437)
plt.axvline(x=2.20589566)
或
xcoords = [0.22058956, 0.33088437, 2.20589566]
for xc in xcoords:
plt.axvline(x=xc)
您可以使用许多可用于其他绘图命令的关键字(例如color
、linestyle
、linewidth
...)。如果您愿意,可以在坐标轴中传递关键字参数ymin
和ymax
(例如,ymin=0.25
,ymax=0.75
将覆盖绘图的中间半部分)。水平线(axhline
)和矩形(axvspan
)有相应的函数。
发布于 2016-03-18 23:55:04
对于多条线路
xposition = [0.3, 0.4, 0.45]
for xc in xposition:
plt.axvline(x=xc, color='k', linestyle='--')
发布于 2018-09-24 00:45:45
除了上面答案中提供的plt.axvline
和plt.plot((x1, x2), (y1, y2))
OR plt.plot([x1, x2], [y1, y2])
之外,还可以使用
plt.vlines(x_pos, ymin=y1, ymax=y2)
在x_pos
处绘制一条从y1
到y2
的垂直线,其中值y1
和y2
在绝对数据坐标中。
https://stackoverflow.com/questions/24988448
复制相似问题