中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用python的matplotlib庫繪圖

發布時間:2022-02-25 17:32:50 來源:億速云 閱讀:324 作者:iii 欄目:開發技術

這篇文章主要講解了“如何使用python的matplotlib庫繪圖”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用python的matplotlib庫繪圖”吧!

一、前言

python的matplotlib庫很強大可以繪制各種類型的圖像。首先要裝一些基礎的庫,如numpy,matplotlib或是pandas。

二、基礎命令

首先介紹繪圖時常用的基礎命令:

1.plt.plot(x,y)即為繪圖命令。①基礎畫圖:

plt.plot(x, y)

②設置顏色:

color屬性如果沒有特別要求的話可以不手動設置顏色,如果要在一張圖上畫不同的線時,會自動分配顏色。也可以使用ax.plot效果相同。

plt.plot(x, y, color = 'red')

③設置線型:

lineStyle屬性可以選擇'-', ‘–', ‘-.', ‘:', ‘None', ' ', ‘', ‘solid', ‘dashed', ‘dashdot', 'dotted'這些類型的。

plt.plot(x, y, lineStyle = 'dashdot')

④設置標注類型:

marker屬性有不同的marker可以選擇,比如'o','*',‘x'。

⑤設置圖例:

label屬性。

plt.plot(x, y ,marker='o',label='語文成績')
plt.plot(x, y ,marker='*',label='數學成績')
plt.plot(x, y ,marker='x',label='英語成績')

只是這樣圖例是不會顯示的,還需要加上loc是位置設置,具體見后面講解。

plt.legend(loc='upper left')

三、正常顯示中文:

①windows系統:

plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']

mac系統:這里是這樣設置的,也可以設置為其他中文字體。

plt.rcParams["font.family"] = 'Arial Unicode MS'

②正常顯示符號:

plt.rcParams['axes.unicode_minus'] = False

四、設置圖樣或子圖

①如果只畫一張圖的話可以,figsize設置的是x軸和y軸方向圖片大小的比例。這里要設置好否則可能會出現圖片顯示不完全的情況,如果通過savefig命令保存的話,也是按照這個比例來保存的圖片。

f = plt.figure(figsize=(8,6))

或是,雖然是通過subplots命令,可是不指定nrows和ncols默認只有一個子圖。

f, ax = plt.subplots(figsize=(8,6))

ax表示的是當前坐標軸。

ax = plt.gca()

如果有多個子圖的話:nrows為行,ncols為列,figsize為圖片的尺寸。

f, ax = plt.subplots(nrows=2,ncols=1,figsize=(8,6),facecolor='white')

或是

fig = plt.figure()
ax1 = fig.add_subplot(2,1,1)
ax2 = fig.add_subplot(2,1,2)
ax1.plot(x,y)
ax2.plot(x,z)

或是

ax1 = plt.subplot(2,1,1)
ax2 = plt.subplot(2,1,2)
ax1.plot(x,y)
ax2.plot(x,z)

其他屬性:第一個屬性標記的是窗口的名稱,dpi設置的分辨率。

f = plt.figure('成績窗口',figsize=(8,6),facecolor='white',dpi=100)

如何使用python的matplotlib庫繪圖

②設置圖片背景色:

f = plt.figure(figsize=(8,6),facecolor='blue')

如何使用python的matplotlib庫繪圖

如果要設置圖片前景色,要用

ax.set(facecolor='white')

如何使用python的matplotlib庫繪圖

五、設置x軸或y軸相關屬性:

①設置x軸的刻度:需要指定標注的位置,標注的具體值,可以通過fontsize指定大小。

x = [0,2,4,6,8]
x_label = ['第一學期','第二學期','第三學期','第四學期','第五學期']
plt.xticks(x, x_label,fontsize=13)

這里的xticks支持latex,

x_label = [r'$e^x,r'$x_1^2,r'$lambda,r'$frac{1}{2},r'$pi]

如何使用python的matplotlib庫繪圖

有時候可能標注的值很多,我們想把x軸的刻度豎著顯示:只需要在x_label中要換行的地方加上' ‘換行符即可。

x = [0,2,4,6,8]
x_label = ['第
一
學
期','第二
學期','第
三
學
期','第四
學期','第五
學期']
plt.xticks(x, x_label,fontsize=13)#這有一張圖

如何使用python的matplotlib庫繪圖

②設置x軸的標簽:這兩條命令是一樣的作用。

plt.xlabel(u"學期")
ax.set_xlabel(u"學期")#設置x軸的標簽值

如何使用python的matplotlib庫繪圖

xlabel同樣支持latex

plt.xlabel(u"$x^2$")

如何使用python的matplotlib庫繪圖

③設置x軸的范圍:這兩條命令也是一樣的作用。一般不需要人為指定范圍,程序會根據輸入的最大值和最小值自動確定一個范圍。

plt.xlim(0,100)
ax.set_xlim(0,100)

如何使用python的matplotlib庫繪圖

設置y軸的相關屬性和x軸的相關屬性方法是一樣的,只需要把x替換成y即可。

六、設置標題:

fontsize為大小,fontweight指定加粗。下面兩條命令作用相同。

plt.title('小明第一至第四學期成績變化折線圖',fontsize=18,fontweight='bold')
ax.set_title('小明第一至第四學期成績變化折線圖',fontsize=18,fontweight='bold')

如何使用python的matplotlib庫繪圖

這里程序會自動將標題放在一個合適的位置,當然也難免出現title不是我們想要的位置的情況,這是可以通過指定x或是y屬性,來設置title的位置。正常范圍是[0,1]可以設置負零點幾或是一點幾,需要多嘗試,如果設置超出圖片范圍會看不到title的。比如這里我設置y=-0.1,可以看到title到下面去了。

plt.title('小明第一至第四學期成績變化折線圖',fontsize=18,fontweight='bold',y=-0.1)

如何使用python的matplotlib庫繪圖

七、設置圖例:

法一:在畫圖的時候做好標注。

plt.plot(x, y[0,:],marker='o',label='語文成績')
plt.plot(x, y[1,:],marker='*',label='數學成績')
plt.plot(x, y[2,:],marker='x',label='英語成績')
plt.legend(loc='upper left')

法二:不寫在plot中,統一寫在legend中。可以指定對應曲線,這里的曲線定義后一定要加',',否則會報錯。

a,=plt.plot(x, y[0,:],marker='o')
b,=plt.plot(x, y[1,:],marker='*')
c,=plt.plot(x, y[2,:],marker='x')
plt.legend((a,b,c),('語文成績','數學成績','英語成績'),loc='upper left')

或是不指定對應曲線,

plt.legend(('語文成績','數學成績','英語成績'),loc='upper left')

不指定對應曲線的方式不推薦,有時候并不想給每個曲線都加圖例,不加圖例的曲線可以不寫label屬性。而該方式會按plot的順序,加圖例,不會跳過不想加圖例的曲線,除非是最后的曲線,不寫就不會加。legend的命令只能通過plt設置,如果有多個子圖的話,

ax = plt.subplot(2,1,1)

這樣對plt操作就可以對子圖操作。

八、進行標注:

標注的話需要寫循環,一個個標注,不能這樣寫plt.text(x,y,"%s"%str(y)),不會一次標注一堆。fontsize是設置標注的字體。用ax是一樣的。

for i in range(len(x)):
	plt.text(x[i],y[i],"%s"%str(y[i]), fontsize=12)
	#ax.text(x[i],y[i],"%s"%str(y[i]), fontsize=12)

如何使用python的matplotlib庫繪圖

經常出現legend把圖片內容給擋住了的情況,這里也可以指定legend的位置。

如何使用python的matplotlib庫繪圖

可以通過bbox_to_anchor屬性來調整legend的位置。

plt.legend(bbox_to_anchor=(1.05, 1), loc=2)

如何使用python的matplotlib庫繪圖

圖例還有許多其他的屬性,

九、保存圖片:

plt.savefig('小明成績變化圖.png')

十、顯示圖片:

plt.show()

十一、刪除邊框:

這里有四個方向,可以選擇刪除哪一個方向的邊框。

ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)

十二、顯示/不顯示網格:

ax.grid(True)
ax.grid(False)

感謝各位的閱讀,以上就是“如何使用python的matplotlib庫繪圖”的內容了,經過本文的學習后,相信大家對如何使用python的matplotlib庫繪圖這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

固始县| 民权县| 隆德县| 遂溪县| 乌拉特前旗| 平和县| 杭州市| 布尔津县| 宜君县| 高雄县| 雷州市| 泰和县| 城步| 缙云县| 禄丰县| 郓城县| 岚皋县| 凤城市| 忻城县| 格尔木市| 镶黄旗| 松溪县| 黄山市| 胶南市| 当阳市| 平湖市| 康定县| 峨眉山市| 宜君县| 汨罗市| 襄樊市| 明溪县| 铁岭县| 金塔县| 河池市| 宜良县| 通许县| 呼玛县| 宽城| 乐平市| 丁青县|