新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关使用matplotlib怎么绘制一个阶梯图,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联公司专注于企业全网营销推广、网站重做改版、江源网站定制设计、自适应品牌网站建设、成都h5网站建设、商城网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为江源等各大城市提供网站开发制作服务。step
函数用于绘制阶梯图。
根据源码可知,step
函数是对plot
函数的轻量级封装,很多概念和用法与plot
函数非常相似。
def step(self, x, y, *args, where='pre', data=None, **kwargs): cbook._check_in_list(('pre', 'post', 'mid'), where=where) kwargs['drawstyle'] = 'steps-' + where return self.plot(x, y, *args, data=data, **kwargs)
step
函数签名:
matplotlib.pyplot.step(x, y, *args, where='pre', data=None, **kwargs)
step
函数调用签名:
step(x, y, [fmt], *, data=None, where='pre', **kwargs) step(x, y, [fmt], x2, y2, [fmt2], ..., *, where='pre', **kwargs)
其中:
x:类数组结构,一维x轴坐标序列。一般假设x轴坐标均匀递增。必备参数。
y:类数组结构,一维y轴坐标序列。必备参数。
fmt:格式字符串,与plot函数的fmt参数类似。可选参数。官方建议只设置颜色格式。
data:可索引数据,类似于plot函数。可选参数。
**kwargs:类似于plot函数。
where :设置阶梯所在位置,取值范围为{'pre', 'post', 'mid'},默认值为'pre'。
通过案例可知,step
函数可以认为是plot
函数绘制阶梯图的一个特例。
import numpy as np import matplotlib.pyplot as plt x = np.arange(14) y = np.sin(x / 2) plt.figure(figsize=(12,5)) plt.subplot(121) plt.step(x, y + 2, label='pre (default)') plt.plot(x, y + 2, 'o--', color='grey', alpha=0.3) plt.step(x, y + 1, where='mid', label='mid') plt.plot(x, y + 1, 'o--', color='grey', alpha=0.3) plt.step(x, y, where='post', label='post') plt.plot(x, y, 'o--', color='grey', alpha=0.3) plt.grid(axis='x', color='0.95') plt.legend(title='Parameter where:') plt.title('plt.step(where=...)') plt.subplot(122) plt.plot(x, y + 2, drawstyle='steps', label='steps (=steps-pre)') plt.plot(x, y + 2, 'o--', color='grey', alpha=0.3) plt.plot(x, y + 1, drawstyle='steps-mid', label='steps-mid') plt.plot(x, y + 1, 'o--', color='grey', alpha=0.3) plt.plot(x, y, drawstyle='steps-post', label='steps-post') plt.plot(x, y, 'o--', color='grey', alpha=0.3) plt.grid(axis='x', color='0.95') plt.legend(title='Parameter drawstyle:') plt.title('plt.plot(drawstyle=...)') plt.show()
关于使用matplotlib怎么绘制一个阶梯图就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。