亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭)

瀏覽:134日期:2022-07-29 16:44:36

Python的matplotlib模塊繪制圖形功能很強大,今天就用pyplot繪制一個簡單的圖形,圖形中包括曲線、曲線上的點、注釋和指向點的箭頭。

1. 結果預覽:

Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭)

2. 代碼如下:

from matplotlib import pyplot as pltimport numpy as np # 繪制曲線x = np.linspace(2, 21, 20) # 取閉區間[2, 21]之間的等差數列,列表長度20y = np.log10(x) + 0.5plt.figure() # 添加一個窗口。如果只顯示一個窗口,可以省略該句。plt.plot(x, y) # plot在一個figure窗口中添加一個圖,繪制曲線,默認顏色 # 繪制離散點plt.plot(x, y, ’.y’) # 繪制黃色的點,為了和曲線顏色不一樣x0, y0 = 15, np.log10(15) + 0.5plt.annotate(’Interpolation point’, xy=(x0, y0), xytext=(x0, y0 - 1), arrowprops=dict(arrowstyle=’->’)) # 添加注釋for x0, y0 in zip(x, y): plt.quiver(x0, y0 - 0.3, 0, 1, color=’g’, width=0.005) # 繪制箭頭 x = range(2, 21, 5)y = np.log10(x) + 0.5plt.plot(x, y, ’om’) # 繪制紫紅色的圓形的點x0, y0 = 7, np.log10(7) + 0.5plt.annotate(’Original point’, xy=(x0, y0), xytext=(x0, y0 - 1), arrowprops=dict(arrowstyle=’->’))for x0, y0 in zip(x, y): plt.quiver(x0, y0 + 0.3, 0, -1, color=’g’, width=0.005) # 繪制箭頭 # 設置坐標范圍plt.xlim(2, 21) # 設置x軸范圍plt.xticks(range(0, 23, 2)) # 設置X軸坐標點的值,為[0, 22]之間的以2為差值的等差數組plt.ylim(0, 3) # 設置y軸范圍 # 顯示圖形plt.show() # 顯示繪制出的圖

3. 解析

1)導入matplotlib模塊的pyplot類,這里主要用了pyplot里的一些方法。導入numpy用于生成一些數列。分別給pyplot和numpy記個簡潔的別名plt和np,方便使用。

2)np.linspace(start, stop, num),可生成閉區間[stop, stop]里的數組長度為num的等差數列。本例子中想作為插值點顯示出來。

3)plt.figure()用于添加窗口。如果把所有圖形繪制在一個窗口里,該句可以省略,因為figure(1)會被默認創建。

如果想添加窗口,就再添加一句plt.figure(),plt.figure(num)的窗口序號num自動自增。

4)plt.plot()向窗口里繪制曲線,傳遞x, y參數,分別為橫軸和縱軸。

本例中所有圖形繪制在一個繪圖區域里。如果想添加2個繪圖區域呢?如下列代碼:

x = np.linspace(2, 21, 20)y1 = np.log10(x) + 0.5y2 = np.log10(x) + 1plt.subplot(211)plt.plot(x, y1) plt.subplot(212)plt.plot(x, y2)plt.show()

plt.subplot(rows, cols, figurenum)添加子繪圖區域,參數分別為:把窗口劃分為rows行cols列繪圖區域,figurenum表示第幾個繪圖區域。plt.subplot(211)=plt.subplot(2, 1, 1),繪圖區域數小于10時可省略逗號。創建的圖形為:

Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭)

5) plt.plot(x, y, ’.y’) # 多寫該句為了顯示點和曲線的顏色不一樣?!?y’表示只把繪制曲線的點表示出來,顏色為黃色。

6)plt.annotate(s, xy, xytext) # 添加注釋,除s、xy外其余還有若干可選參數。

s:注釋文本,

xy:指定要注釋的(x,y)坐標點,

xytext:可選,指定要放置文本的(x,y)坐標點。如果沒有,則默認為xy注釋點。

arrowprops:可選,字典形式,用于在xy坐標和xytext間繪制一個指定形狀的箭頭,本例中指定一個’->’類型的箭頭,箭頭頭部寬和高為0.2/0.4。

7)plt.quiver(X, Y, U, V, C, **kw) # 繪制一個二維的箭頭,X, Y, C可以缺失。

X, Y:箭頭的位置,

U, V:表示箭頭的方向,

C:設置箭頭的顏色,

**kw里還有一系列參數可以設置,包括單位、箭頭角度、箭頭的頭部寬高設置等,這里設置了顏色color和箭頭的軸寬度width。

如果設置了C,再設置color將不生效。

有C為啥還有color可選設置呢?疑問暫留,沒找到結果。

8)plt.xlim(min, max) / plt.ylim(min, max) 設置x軸/y軸的范圍。

9)plt.xticks() 設置x軸坐標點的值。如果plt.xlim和plt.xticks設置的范圍不一致,怎么顯示?以最后設置的范圍為準。

10)plt.show() # 最后調用此句,顯示出繪制的圖形。

以上這篇Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美日韩国产亚洲综合不卡 | 国产精品久久久亚洲 | 99久热只有精品视频免费观看17 | 九九九九在线精品免费视频 | 国产精品久久久久久亚洲小说 | 国产精品成人麻豆专区 | 国产精品国产三级国产普通话对白 | 日韩一区二区三区在线观看 | 小明看看免费 | 欧美xxxx狂喷水喷水 | 国产三级在线免费 | 真人一级毛片免费完整视 | 高清国产美女一级a毛片在线 | 高清成人爽a毛片免费网站 高清成人综合 | 日韩区欧美区 | 最新亚洲精品国自产在线观看 | 久久99精品久久久久久综合 | 久久不卡精品 | 黄色成人在线播放 | 欧洲免费极品videos | 亚洲成a人片在线观看www流畅 | 欧美特级特黄a大片免费 | 九九黄色网 | 国产 日韩 欧美 综合 | 色婷婷中文字幕 | 国产日韩欧美精品一区 | 久草福利站 | 极品嫩模被黑人20厘米 | 亚洲精品日韩中文字幕久久久 | 色图在线观看 | 无码免费一区二区三区免费播放 | 国产精品成人va | 国产专区一区 | 麻豆国产原创 | 欧美午夜免费一级毛片 | 在线播放精品 | 黄黄视频在线观看 | 午夜精品国产爱在线观看不卡 | 亚洲黄色激情网 | 亚洲精品啪啪一区二区三区 | 亚洲精品手机在线 |