當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。