matplotlib 线图在阶梯函数中不显示垂直线

chr*_*ise 6 matplotlib

当我有信号时,我确实有一个仅由某些值的水平线组成的图,否则没有。所以,我正在寻找一种没有垂直线的方法来绘制它。当没有信号时,线之间可能会有间隙,我不希望线连接,也不希望线掉到 0。有没有办法在 matplotlib 中绘制这样的图?

在此处输入图片说明

self.figure = plt.figure()
self.canvas = FigureCanvas(self.figure)
axes = self.figure.add_subplot(111)
axes.plot(df.index, df["x1"], lw=1.0, c=self.getColour('g', i), ls=ls)
Run Code Online (Sandbox Code Playgroud)

小智 6

您正在寻找的情节是 Matplotlib 的plt.hlines(y, xmin, xmax).

例如:

import matplotlib.pyplot as plt

y = range(1, 11)
xmin = range(10)
xmax = range(1, 11)
colors=['blue', 'green', 'red', 'yellow', 'orange', 'purple', 
        'cyan', 'magenta', 'pink', 'black']

fig, ax = plt.subplots(1, 1)
ax.hlines(y, xmin, xmax, colors=colors)
plt.show()
Run Code Online (Sandbox Code Playgroud)

产生这样的情节:

Matplotlib 线图

有关更多详细信息,请参阅Matplotlib 文档