当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python matplotlib.pyplot.step()用法及代码示例


step()函数将图形设计为具有水平基线,数据点将通过垂直基线连接到该基线。这种图用于分析Y轴值相对于X轴的确切变化发生在哪一点。这在离散分析中非常有用。阶梯图可以与任何其他图组合。步骤的发生也可以通过提供适当的参数值来格式化。此函数的参数列表如下。

参数

描述

x

一维值数组。

y



一维值数组。

fmt

格式化字符串,用于指定线条颜色,标记类型等。

data

两个Iterables,包含已标记数据的标签名称。

where

决定垂直线的位置。 (值:pre | post | mid)

注意:参数‘fmt’,‘data’,‘where’是可选的。

‘where’参数

where参数用于表示垂直线应将数据点连接到水平基线的位置。它决定将步骤放置在何处,如可视化。更清楚地说,此参数决定了Y-value应当在何处不断绘制水平线。它可以采用以下示例中说明的三个值中的任何一个。

首先,考虑要绘制的两个数组:

x = [1,3,4,5,7]
y = [1,9,16,25,49]

数组x包含一些整数,数组y包含x中相应索引中数字的平方。如果简单地绘制这些值而没有任何阶跃函数,则可以在图中绘制一条直线,如下所示。

Python3



import matplotlib.pyplot as plt 
import numpy as np 
  
x = np.array([1, 3, 4, 5, 7]) 
y = np.array([1, 9, 16, 25, 49]) 
  
plt.plot(x, y) 
plt.show()

输出:

没有步骤的情节

上一条:Y-value在数据点左侧保持不变。例如,值y [i]在x [i-1]和x [i]之间保持恒定。下面给出了与上面相同步骤的步骤图。在下面的代码中,“ g ^”表示线条颜色为绿色,标记应为向上的三角形。

Python3

import matplotlib.pyplot as plt 
import numpy as np 
  
x = np.array([1, 3, 4, 5, 7]) 
y = np.array([1, 9, 16, 25, 49]) 
  
plt.step(x, y, 'g^', where='pre') 
plt.show()

输出:

在哪里=“ pre”

在上图中,您可以看到数据点左侧的水平线,这些水平线由小的绿色三角形标记。例如,x [0]为1,其对应的y-value为1。下一个值x [1]为3,y-value为9。现在您可以看到从1开始的9中的恒定线。在X轴上到达数据点3。为了更清晰,请看下面带有突出显示部分的图像。

x [i-1]和x [i]范围内的水平线

  • 帖子:Y-value在数据点的右侧保持不变。例如,值y [i]在x [i]和x [i + 1]之间保持恒定。下面给出了与上面相同步骤的步骤图。在下面的代码中,“ r *”表示线条颜色为红色,标记应为星号(“ *”)。

Python3

import matplotlib.pyplot as plt 
import numpy as np 
  
x = np.array([1, 3, 4, 5, 7]) 
y = np.array([1, 9, 16, 25, 49]) 
  
plt.step(x, y, 'r*', where='post') 
plt.show()

输出:

查看突出显示的部分,以查看“ pre”和“ post”值之间的差异。

x [i]和x [i + 1]范围内的水平线

  • 中:垂直线以值(x [i-1]和x [i + 1])/2上升。下面给出了与上面相同步骤的步骤图。在下面的代码中,‘cs’表示线条颜色为红色,标记应为正方形。

Python3

import matplotlib.pyplot as plt 
import numpy as np 
  
x = np.array([1, 3, 4, 5, 7]) 
y = np.array([1, 9, 16, 25, 49]) 
  
plt.step(x, y, 'cs', where='mid') 
plt.xlim(1, 9) 
plt.show()

输出:



其中=“中”

为了更好地理解,请看下面的图片。

值(x [i-1]和x [i + 1])/2的水平线

例如,x [0]为1,x [1]为3,mid-value为2。以类似的方式,对于其他值,mid-value也被计算,垂直线在那里升高。

step()也可以与其他绘图结合使用。在下面的示例中查看上面使用的相同数据点。

Python3

import matplotlib.pyplot as plt 
import numpy as np 
  
x = np.array([1, 3, 4, 5, 7]) 
y = np.array([1, 9, 16, 25, 49]) 
  
plt.step(x, y, 'ys', where='mid') 
plt.xlim(1, 9) 
plt.bar(x, y) 
plt.show()

输出:

同样,任何绘图类型都可以与step()函数结合使用。




相关用法


注:本文由纯净天空筛选整理自erakshaya485大神的英文原创作品 matplotlib.pyplot.step() function in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。