目錄
- 介紹
- 創建圖
- 使用 PyPlot.vlines()在Matplotlib繪圖上繪制垂直線
- 使用 PyPlot.axvline()在Matplotlib繪圖上繪制垂直線
- 結論
介紹
Matplotlib是Python中使用最廣泛的數據可視化庫之一。Matplotlib的受歡迎程度大部分來自其自定義選項。您可以調整其對象層次結構中的幾乎任何元素。
在本教程中,我們將研究如何在Matplotlib圖上繪制垂直線,這使我們能夠標記和突出顯示圖的某些區域,而無需縮放或更改軸范圍。
創建圖
讓我們首先用一些隨機數據創建一個簡單的圖:
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(12, 6))
np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)
plt.show()
在這里,我們使用 Numpy
生成了[0,1)范圍內的150個隨機數據點。

現在,由于我們已經設置了 seed
,因此我們可以根據需要多次復制此隨機圖像。例如,我們可以在20和100標記上繪制垂直線。
可以通過 PyPlot 的vlines()
或axvline()
函數這兩種方法來繪制線。當然,您也可以在Axes對象上調用這些方法。
使用 PyPlot.vlines()在Matplotlib繪圖上繪制垂直線
讓我們從 vlines()
函數開始:
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(12, 6))
np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)
ax.vlines([20, 100], 0, 1, linestyles='dashed', colors='red')
plt.show()
vlines()
函數接受一些參數:“即您想在其上繪制線條的標量或X值的一維數組。我們提供了[20,100],標記了兩個點,盡管您可以從0..n點開始。然后,ymin
和ymax
參數:這些是線條的高度。我們將它們設置為0到1,因為這也是np.random.rand()
調用的分布。然后,您可以設置接受典型Matplotlib樣式選項的樣式,例如線型或顏色。
運行此代碼的結果如下:

我們在X軸的20和100點處有兩條垂直虛線,用紅色虛線表示。
此函數允許我們在具體值中設置ymin
和ymax
,而axvline()
允許我們按百分比選擇高度,或者默認情況下,我們僅使其從底部繪制到頂部。
fig, ax = plt.subplots(figsize=(12, 6))
np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)
ax.set_ylim(-10, 10)
ax.vlines([20, 100], -2, 2, linestyles='dashed', colors='red')

在這里,我們把這條線設置為比隨機數據本身的范圍長,但仍比Axes本身小得多。
使用 PyPlot.axvline()在Matplotlib繪圖上繪制垂直線
現在,讓我們看一下axvline()
函數:
fig, ax = plt.subplots(figsize=(12, 6))
np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)
ax.set_ylim(-10, 10)
ax.axvline(20, color='red')
ax.axvline(100, color='red')
plt.show()
它具有其他功能所沒有的一些限制,例如一次只能繪制在一個點上。如果要繪制多個點(例如20和100),則必須調用函數兩次。
它實際上并沒有像vlines()那樣讓我們指定線型,但是默認情況下,它不需要ymin
和ymax
參數。如果省略后,它們將只是從軸的頂部到底部:

但是,您可以根據需要更改高度:這次您將以百分比為單位更改高度。這些百分比考慮了軸的頂部和底部,因此0%將位于底部,而100%將位于頂部。讓我們畫一條從50%到80%的線:
fig, ax = plt.subplots(figsize=(12, 6))
np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)
ax.set_ylim(-10, 10)
ax.axvline(20, 0.8, 0.5, color='red')
ax.axvline(100, 0.8, 0.5, color='red')
結果如下:

結論
在本教程中,我們介紹了如何用兩種方法在Matplotlib圖上繪制垂直線。
以上就是python 如何在 Matplotlib 中繪制垂直線的詳細內容,更多關于python在 Matplotlib 中繪制垂直線的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:- Python matplotlib實用繪圖技巧匯總
- python使用matplotlib顯示圖像失真的解決方案
- 基于python的matplotlib制作雙Y軸圖
- 用Python的繪圖庫(matplotlib)繪制小波能量譜
- python matplotlib繪圖實現刪除重復冗余圖例的操作
- Python基礎之畫圖神器matplotlib
- python讀取并顯示圖片的三種方法(opencv、matplotlib、PIL庫)
- 利用Python matplotlib繪制風能玫瑰圖
- python 繪圖模塊matplotlib的使用簡介
- python之 matplotlib和pandas繪圖教程
- python matplotlib工具欄源碼探析二之添加、刪除內置工具項的案例
- Python繪圖庫Matplotlib的基本用法