matplotlib.pyplot.step()函数 - step绘图

matplotlib.pyplot.step()函数

step()函数将绘图设计成这样,它有一个水平基线,数据点将通过竖线连接到该基线。这种曲线图用于分析在哪些点上y轴的值相对于x轴发生了精确的变化。这在离散分析中非常有用。step绘图可以与任何其他绘图相结合。还可以通过提供适当的参数值来格式化步骤的出现。这个函数的参数如下表所示。

参数 描述
x 1-D值数组。
y 1-D值数组。
fmt 格式化指定行颜色、标记类型等的字符串。
data 包含已标记数据的标签名称的两个可迭代对象。
where 来决定垂直线的位置。(values : pre|post|mid)

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

“where”参数

where参数用于表示垂线应该在哪个位置将数据点连接到水平基线。它决定在哪里放置步骤,就像可视化。更清楚地说,这个参数决定y值应该不断绘制水平线的位置。它可以取三个值中的任何一个,下面将用示例解释这些值。

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

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

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

示例1

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()

输出:

没有step的绘图

matplotlib.pyplot.step()函数

pre

y值在数据点左侧保持不变。例如,值y[i]在x[i-1]和x[i]之间保持不变。下面给出了上面绘制的带有步骤的图。在下面的代码中,’ g^ ‘表示线的颜色为绿色,标记应该是一个向上的三角形。

示例2

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()

输出:

where=’pre’

matplotlib.pyplot.step()函数

在上图中,你可以看到数据点左边的水平线,它们由绿色小三角形标记。例如,x[0] = 1,它对应的y值为1。下一个值x[1]是3,y值是9。现在你可以看到从1到9的一条常数线。当到达x轴上的数据点3时,垂直线向上。为了更清晰,请查看下图中高亮显示的部分。

horizontal lines in range x[i-1] and x[i]

matplotlib.pyplot.step()函数

post

y值保持不变的数据点的右边。例如,值y[i]在x[i]和x[i+1]之间保持不变。下面给出了上面绘制的带有步骤的图。在下面的代码中,’ r* ‘表示行颜色为红色,标记应该是星号(” * “)。

示例3

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()

输出:

where=’post’

matplotlib.pyplot.step()函数

看看高亮显示的部分,看看值’ pre ‘和’ post ‘之间的差异。

horizontal lines in range x[i] and x[i+1]

matplotlib.pyplot.step()函数

mid

垂直直线在值(x[i-1]和x[i+1])/2处向上。下面给出了上面绘制的带有步骤的图。在下面的代码中,’ cs ‘表示线的颜色为红色,标记应该是一个正方形。

示例4

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()

输出:

where=’mid’

matplotlib.pyplot.step()函数

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

horizontal line in a value (x[i-1] and x[i+1])/2

matplotlib.pyplot.step()函数

例如,x[0] = 1, x[1] = 3,中值为2。以类似的方式,对其他值也计算中间值,并在那里升起垂线。

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

示例5

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()

输出:

matplotlib.pyplot.step()函数

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程