python 如何在 Matplotlib 中繪制垂直線
介紹
Matplotlib是Python中使用最廣泛的數(shù)據(jù)可視化庫(kù)之一。Matplotlib的受歡迎程度大部分來(lái)自其自定義選項(xiàng)。您可以調(diào)整其對(duì)象層次結(jié)構(gòu)中的幾乎任何元素。
在本教程中,我們將研究如何在Matplotlib圖上繪制垂直線,這使我們能夠標(biāo)記和突出顯示圖的某些區(qū)域,而無(wú)需縮放或更改軸范圍。
創(chuàng)建圖
讓我們首先用一些隨機(jī)數(shù)據(jù)創(chuàng)建一個(gè)簡(jiǎn)單的圖:
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)范圍內(nèi)的150個(gè)隨機(jī)數(shù)據(jù)點(diǎn)。
現(xiàn)在,由于我們已經(jīng)設(shè)置了 seed
,因此我們可以根據(jù)需要多次復(fù)制此隨機(jī)圖像。例如,我們可以在20和100標(biāo)記上繪制垂直線。
可以通過(guò) PyPlot 的vlines()
或axvline()
函數(shù)這兩種方法來(lái)繪制線。當(dāng)然,您也可以在Axes對(duì)象上調(diào)用這些方法。
使用 PyPlot.vlines()在Matplotlib繪圖上繪制垂直線
讓我們從 vlines()
函數(shù)開(kāi)始:
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()
函數(shù)接受一些參數(shù):“即您想在其上繪制線條的標(biāo)量或X值的一維數(shù)組。我們提供了[20,100],標(biāo)記了兩個(gè)點(diǎn),盡管您可以從0..n點(diǎn)開(kāi)始。然后,ymin
和ymax
參數(shù):這些是線條的高度。我們將它們?cè)O(shè)置為0到1,因?yàn)檫@也是np.random.rand()
調(diào)用的分布。然后,您可以設(shè)置接受典型Matplotlib樣式選項(xiàng)的樣式,例如線型或顏色。
運(yùn)行此代碼的結(jié)果如下:
我們?cè)赬軸的20和100點(diǎn)處有兩條垂直虛線,用紅色虛線表示。
此函數(shù)允許我們?cè)诰唧w值中設(shè)置ymin
和ymax
,而axvline()
允許我們按百分比選擇高度,或者默認(rèn)情況下,我們僅使其從底部繪制到頂部。
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')
在這里,我們把這條線設(shè)置為比隨機(jī)數(shù)據(jù)本身的范圍長(zhǎng),但仍比Axes本身小得多。
使用 PyPlot.axvline()在Matplotlib繪圖上繪制垂直線
現(xiàn)在,讓我們看一下axvline()
函數(shù):
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()
它具有其他功能所沒(méi)有的一些限制,例如一次只能繪制在一個(gè)點(diǎn)上。如果要繪制多個(gè)點(diǎn)(例如20和100),則必須調(diào)用函數(shù)兩次。
它實(shí)際上并沒(méi)有像vlines()那樣讓我們指定線型,但是默認(rèn)情況下,它不需要ymin
和ymax
參數(shù)。如果省略后,它們將只是從軸的頂部到底部:
但是,您可以根據(jù)需要更改高度:這次您將以百分比為單位更改高度。這些百分比考慮了軸的頂部和底部,因此0%將位于底部,而100%將位于頂部。讓我們畫(huà)一條從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')
結(jié)果如下:
結(jié)論
在本教程中,我們介紹了如何用兩種方法在Matplotlib圖上繪制垂直線。
以上就是python 如何在 Matplotlib 中繪制垂直線的詳細(xì)內(nèi)容,更多關(guān)于python在 Matplotlib 中繪制垂直線的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python matplotlib擬合直線的實(shí)現(xiàn)
- Python實(shí)現(xiàn)在matplotlib中兩個(gè)坐標(biāo)軸之間畫(huà)一條直線光標(biāo)的方法
- Python+matplotlib實(shí)現(xiàn)簡(jiǎn)單曲線的繪制
- Python matplotlib 繪制雙Y軸曲線圖的示例代碼
- Python matplotlib繪制圖形實(shí)例(包括點(diǎn),曲線,注釋和箭頭)
- 教你利用python的matplotlib(pyplot)繪制折線圖和柱狀圖
- Python?matplotlib實(shí)現(xiàn)折線圖的繪制
- python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖
- python學(xué)習(xí)之使用Matplotlib畫(huà)實(shí)時(shí)的動(dòng)態(tài)折線圖的示例代碼
- python??Matplotlib繪圖直線,折線,曲線
相關(guān)文章
對(duì)python指數(shù)、冪數(shù)擬合curve_fit詳解
今天小編就為大家分享一篇對(duì)python指數(shù)、冪數(shù)擬合curve_fit詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12tensorflow 實(shí)現(xiàn)從checkpoint中獲取graph信息
今天小編就為大家分享一篇tensorflow 實(shí)現(xiàn)從checkpoint中獲取graph信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02PyCharm的設(shè)置方法和第一個(gè)Python程序的建立
今天小編就為大家分享一篇PyCharm的設(shè)置方法和第一個(gè)Python程序的建立,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01kafka-python批量發(fā)送數(shù)據(jù)的實(shí)例
今天小編就為大家分享一篇kafka-python批量發(fā)送數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12使用Python實(shí)現(xiàn)將PDF轉(zhuǎn)為圖片
這篇文章主要為大家詳細(xì)介紹了python如何借用第三方庫(kù)Spire.PDF for Python,從而實(shí)現(xiàn)將PDF轉(zhuǎn)為圖片的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10Python設(shè)置在shell腳本中自動(dòng)補(bǔ)全功能的方法
今天小編就為大家分享一篇Python設(shè)置在shell腳本中自動(dòng)補(bǔ)全功能的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06使用Python matplotlib作圖時(shí),設(shè)置橫縱坐標(biāo)軸數(shù)值以百分比(%)顯示
這篇文章主要介紹了使用Python matplotlib作圖時(shí),設(shè)置橫縱坐標(biāo)軸數(shù)值以百分比(%)顯示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Pandas創(chuàng)建DataFrame提示:type?object?'object'?has?n
Pandas數(shù)據(jù)幀(DataFrame)是二維數(shù)據(jù)結(jié)構(gòu),它包含一組有序的列,每列可以是不同的數(shù)據(jù)類型,這篇文章主要給大家介紹了關(guān)于Pandas創(chuàng)建DataFrame提示:type?object?‘object‘?has?no?attribute?‘dtype‘的解決方案,需要的朋友可以參考下2023-02-02numpy中生成隨機(jī)數(shù)的幾種常用函數(shù)(小結(jié))
這篇文章主要介紹了numpy中生成隨機(jī)數(shù)的幾種常用函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08