Linestyle in matplotlib step function

房东的猫 提交于 2019-11-29 17:12:14

问题


Is it possible to set the linestyle in a matplotlib step function to dashed, dotted, etc.?

I've tried:

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

But it did not help.


回答1:


As of mpl 1.3.0 this is fixed upstream


You have to come at it a bit sideways as step seems to ignore linestyle. If you look at what step is doing underneath, it is just a thin wrapper for plot.

You can do what you want by talking to plot directly:

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'] are the valid values for drawstyle and control where the step is drawn.

Pull request resulting from this question, I personally think this is a bug. [edit: this has been pulled into master and should show up in v1.3.0].



来源:https://stackoverflow.com/questions/15188005/linestyle-in-matplotlib-step-function

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!