国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 如何在 Matplotlib 中繪制垂直線

瀏覽:109日期:2022-06-23 14:34:39
介紹

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 pltimport numpy as npfig, 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)。

python 如何在 Matplotlib 中繪制垂直線

現(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 pltimport numpy as npfig, 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é)果如下:

python 如何在 Matplotlib 中繪制垂直線

我們?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’)

python 如何在 Matplotlib 中繪制垂直線

在這里,我們把這條線設(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ù)。如果省略后,它們將只是從軸的頂部到底部:

python 如何在 Matplotlib 中繪制垂直線

但是,您可以根據(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é)果如下:

python 如何在 Matplotlib 中繪制垂直線

結(jié)論

在本教程中,我們介紹了如何用兩種方法在Matplotlib圖上繪制垂直線。

以上就是python 如何在 Matplotlib 中繪制垂直線的詳細(xì)內(nèi)容,更多關(guān)于python在 Matplotlib 中繪制垂直線的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 济源市| 茂名市| 南雄市| 荥经县| 弥渡县| 阳高县| 涞水县| 高淳县| 囊谦县| 雷州市| 昌图县| 饶阳县| 永靖县| 泗水县| 绥滨县| 扎鲁特旗| 平凉市| 嘉定区| 龙井市| 建平县| 临夏县| 黄龙县| 大名县| 宜兰县| 西平县| 万山特区| 西畴县| 东乡族自治县| 万宁市| 贺州市| 屯留县| 泾阳县| 富阳市| 三江| 永城市| 特克斯县| 西安市| 保亭| 东台市| 鄂伦春自治旗| 进贤县|