matplotlib步进函数中的线型

25 投票
1 回答
30250 浏览
提问于 2025-04-17 17:46

在使用matplotlib的阶梯函数时,能不能把线条的样式设置成虚线、点线等等呢?

我试过这个:

step(x, linestyle='--'), 
step(x, '--')

但是没有效果。

1 个回答

40

从mpl 1.3.0版本开始,这个问题已经在上游修复了。


你需要换个角度来看这个问题,因为step似乎不太管linestyle。如果你看看step背后是怎么工作的,其实它只是对plot的一个简单封装。

你可以直接和plot对话,来实现你想要的效果:

import matplotlib.pyplot as plt

plt.plot(range(5), range(5), linestyle='--', drawstyle='steps')
plt.plot(range(5), range(5)[::-1], linestyle=':', drawstyle='steps')
plt.xlim([-1, 5])
plt.ylim([-1, 5])

example

['steps', 'steps-pre', 'steps-mid', 'steps-post']drawstyle的有效值,它们控制着步骤的绘制方式。

这是一个与这个问题相关的拉取请求,我个人认为这是一个bug。[编辑:这个问题已经合并到主分支,并应该在v1.3.0版本中出现]。

撰写回答