matplotlib步进函数中的线型
在使用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])
['steps', 'steps-pre', 'steps-mid', 'steps-post']
是drawstyle
的有效值,它们控制着步骤的绘制方式。
这是一个与这个问题相关的拉取请求,我个人认为这是一个bug。[编辑:这个问题已经合并到主分支,并应该在v1.3.0版本中出现]。