我正在使用这些代码行创建一个图,非常标准。
plt.plot(x, It)
plt.plot(x, NIt, dashes=[6,2])
plt.show()这给出了以下结果:

考虑到我使用的代码,这是正确的。然而,我想使用一个图,它保持变量的值,直到值发生变化,即一条水平线,直到值发生变化,在这一点上,点由垂直线连接。因此,代替上面的(对于蓝色),我会有类似这里所示的黑色线条(我只是开始演示它,请原谅我糟糕的绘画技巧):

有什么办法做到这一点吗?提前谢谢。
发布于 2018-12-17 03:39:25
这就是drawstyle提案的用途。使用'steps-pre'样式来实现您想要的结果。请参阅drawstyle property section of matplotlib.lines.Line2D docs。(steps-pre和steps-post会更改y值是水平线的开始还是结束;有关更多示例和解释,请参阅Step Functions in Matplotlib。)
如果您按如下方式修改您的代码,它应该会按您所希望的那样工作:
plt.plot(x, It)
plt.plot(x, NIt, dashes=[6,2], drawstyle='steps-pre')
plt.show()干杯!
https://stackoverflow.com/questions/53805736
复制相似问题