欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

教你學(xué)會(huì)通過python的matplotlib庫繪圖

 更新時(shí)間:2021年05月24日 09:07:35   作者:qq_43650421  
今天教大家如何學(xué)會(huì)通過python的matplotlib庫繪圖,文中有非常詳細(xì)的圖文解說及代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下

一、前言

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

二、基礎(chǔ)命令

首先介紹繪圖時(shí)常用的基礎(chǔ)命令:

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

plt.plot(x, y)

②設(shè)置顏色:

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

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

③設(shè)置線型:

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

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

④設(shè)置標(biāo)注類型:

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

plt.plot(x, y ,marker='x')

⑤設(shè)置圖例:

label屬性。

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

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

plt.legend(loc='upper left')

三、正常顯示中文:

①windows系統(tǒng):

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

mac系統(tǒng):
這里是這樣設(shè)置的,也可以設(shè)置為其他中文字體。

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

②正常顯示符號(hào):

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

四、設(shè)置圖樣或子圖

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

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

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

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

ax表示的是當(dāng)前坐標(biāo)軸。

ax = plt.gca()

如果有多個(gè)子圖的話:
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)

其他屬性:第一個(gè)屬性標(biāo)記的是窗口的名稱,dpi設(shè)置的分辨率。

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

窗口名稱

②設(shè)置圖片背景色:

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

設(shè)置facecolor

如果要設(shè)置圖片前景色,要用

ax.set(facecolor='white')

設(shè)置顏色

五、設(shè)置x軸或y軸相關(guān)屬性:

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

x = [0,2,4,6,8]
x_label = ['第一學(xué)期','第二學(xué)期','第三學(xué)期','第四學(xué)期','第五學(xué)期']
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$']

在這里插入圖片描述

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

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

換行符x軸

②設(shè)置x軸的標(biāo)簽:
這兩條命令是一樣的作用。

plt.xlabel(u"學(xué)期")
ax.set_xlabel(u"學(xué)期")#設(shè)置x軸的標(biāo)簽值

標(biāo)簽

xlabel同樣支持latex

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

標(biāo)簽

③設(shè)置x軸的范圍:
這兩條命令也是一樣的作用。
一般不需要人為指定范圍,程序會(huì)根據(jù)輸入的最大值和最小值自動(dòng)確定一個(gè)范圍。

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

設(shè)置x軸范圍

設(shè)置y軸的相關(guān)屬性和x軸的相關(guān)屬性方法是一樣的,只需要把x替換成y即可。

六、設(shè)置標(biāo)題:

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

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

title

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

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

手動(dòng)設(shè)置y

七、設(shè)置圖例:

法一:
在畫圖的時(shí)候做好標(biāo)注。

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

法二:
不寫在plot中,統(tǒng)一寫在legend中。
可以指定對(duì)應(yīng)曲線,這里的曲線定義后一定要加',',否則會(huì)報(bào)錯(cuò)。

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),('語文成績','數(shù)學(xué)成績','英語成績'),loc='upper left')

或是不指定對(duì)應(yīng)曲線,

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

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

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

這樣對(duì)plt操作就可以對(duì)子圖操作。

八、進(jìn)行標(biāo)注:

標(biāo)注的話需要寫循環(huán),一個(gè)個(gè)標(biāo)注,不能這樣寫plt.text(x,y,"%s"%str(y)),不會(huì)一次標(biāo)注一堆。
fontsize是設(shè)置標(biāo)注的字體。用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)

標(biāo)注

經(jīng)常出現(xiàn)legend把圖片內(nèi)容給擋住了的情況,這里也可以指定legend的位置。

legend擋住圖片

可以通過bbox_to_anchor屬性來調(diào)整legend的位置。

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

調(diào)整圖片

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

九、保存圖片:

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

十、顯示圖片:

plt.show()

十一、刪除邊框:

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

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

十二、顯示/不顯示網(wǎng)格:

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

到此這篇關(guān)于教你學(xué)會(huì)通過python的matplotlib庫繪圖的文章就介紹到這了,更多相關(guān)python的matplotlib庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python刪除服務(wù)器文件代碼示例

    python刪除服務(wù)器文件代碼示例

    這篇文章主要介紹了python刪除服務(wù)器文件代碼示例,列舉了兩個(gè)實(shí)例,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Python簡單格式化時(shí)間的方法【strftime函數(shù)】

    Python簡單格式化時(shí)間的方法【strftime函數(shù)】

    這篇文章主要介紹了Python簡單格式化時(shí)間的方法,結(jié)合實(shí)例形式分析了Python使用strftime函數(shù)進(jìn)行時(shí)間格式化的操作技巧,需要的朋友可以參考下
    2016-09-09
  • Python使用fastAPI如何實(shí)現(xiàn)一個(gè)流式傳輸接口

    Python使用fastAPI如何實(shí)現(xiàn)一個(gè)流式傳輸接口

    這篇文章主要介紹了Python使用fastAPI如何實(shí)現(xiàn)一個(gè)流式傳輸接口問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python pandas時(shí)序處理相關(guān)功能詳解

    python pandas時(shí)序處理相關(guān)功能詳解

    這篇文章主要介紹了python pandas時(shí)序處理相關(guān)功能詳解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python利用Tiler制作專屬卡通頭像和LOGO

    Python利用Tiler制作專屬卡通頭像和LOGO

    Tiler是一種使用各種其他較小圖像平鋪創(chuàng)建新圖像的工具,它與其他馬賽克工具不同,因?yàn)樗梢赃m應(yīng)多種形狀、大小、方向的貼圖,稱為buil in build。本文就來利用Tiler制作專屬卡通頭像和LOGO,需要的可以參考一下
    2022-12-12
  • Python如何將PDF拆分成多個(gè)文件(最新推薦)

    Python如何將PDF拆分成多個(gè)文件(最新推薦)

    在 Python 中,你可以使用 PyPDF2 庫來拆分 PDF 文件,以下是一個(gè)簡單的示例,演示如何將一個(gè) PDF 文件拆分為多個(gè)單頁 PDF 文件,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Python實(shí)現(xiàn)合并兩個(gè)列表的方法分析

    Python實(shí)現(xiàn)合并兩個(gè)列表的方法分析

    這篇文章主要介紹了Python實(shí)現(xiàn)合并兩個(gè)列表的方法,結(jié)合實(shí)例形式對(duì)比分析了常見的Python列表合并操作技巧,需要的朋友可以參考下
    2018-05-05
  • Pycharm配置opencv與numpy的實(shí)現(xiàn)

    Pycharm配置opencv與numpy的實(shí)現(xiàn)

    本文總結(jié)了兩種方法來導(dǎo)入opencv與numpy包,第一種是直接在Pycharm中導(dǎo)入兩個(gè)包,第二種是在官網(wǎng)下載相關(guān)文件進(jìn)行配置,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 圖文詳解梯度下降算法的原理及Python實(shí)現(xiàn)

    圖文詳解梯度下降算法的原理及Python實(shí)現(xiàn)

    梯度下降是迭代法的一種,可以用于求解最小二乘問題(線性和非線性都可以)。本文將通過圖文詳解梯度下降算法的原理及實(shí)現(xiàn),需要的可以參考一下
    2022-08-08
  • python基于tkinter圖形化編程實(shí)現(xiàn)簡易計(jì)算器功能

    python基于tkinter圖形化編程實(shí)現(xiàn)簡易計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了python基于tkinter圖形化編程實(shí)現(xiàn)簡易計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評(píng)論