python基於Matplotlib模塊的繪圖1

Matplotlib模塊

Matplotlib模塊是python中繪圖的第三方庫,它模仿MATLAB中繪圖,既適合交互式地進行製圖,也可以作爲繪圖控件方便地嵌入GUI應用程序中。其中最主要的Matplotlib的pyplot子庫提供了和MATLAB類似的繪圖API,方便用戶快速繪製2D圖表,包括直方圖、餅圖、散點圖等.
在matplotlib.pyplot中,各種狀態在函數調用中保留,以便跟蹤當前圖形和繪圖區域等內容,並且繪圖函數指向當前軸(請注意“軸”在此處以及在大多數位置 文檔是指圖形的軸部分,而不是多個軸的嚴格數學術語。
首先我們來看一個簡單例子。

實例介紹

在這裏插入圖片描述
是不是很簡單,這樣我們就完成了第一個圖形的繪製。但看到這個我們可能會思考我們只給出一個列表,它如何繪製的二維座標。以及x軸和y軸的範圍,那是因爲如果爲plot()命令提供單個列表或數組,則matplotlib假定它是一系列y值,並自動爲您生成x值。由於python範圍以0開頭,因此默認的x向量與y具有相同的長度,但從0開始。因此x數據爲 [0,1,2,3]。其實plot()函數的功能有很多,這只是部分而已。

有的時候我們可能需要繪製一些函數的圖像,比如三角函數,下面看個例子。
在這裏插入圖片描述
這樣我們就繪製了一個三角函數的圖像。大家是不是對plot()這個函數感到好奇,想知道它的具體用法,這個時候我們用help()看一下。我們也可以 看一下這篇博客以及這個
在這裏插入圖片描述

顏色設置

這裏我只截取部分,你們想要知道具體,自己可以看一下。而且plot()函數可以設置顏色.如果想了解rgb顏色可以看看這篇博客,詳細介紹了各種顏色用RGB三原色表示。
在這裏插入圖片描述
也可以這樣設置顏色

在這裏插入圖片描述

點線格式設置

在繪圖的時候,我們有的時候希望它不是直接用直線表示,而是用一種離散的點或者其他樣式表示。
在這裏插入圖片描述
也可以將三個參數用一個字符串表示,但是個人覺得還是不推薦這麼使用。
在這裏插入圖片描述
也可以一張圖片顯示多種線。
在這裏插入圖片描述
如果你想要看更多的點線格式,可以看看這幾張圖片,第三張圖片是前面幾個圖片的中文解釋。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

plt.plot()其他參數的設置

linewidth定義線的寬度,可取任意實數
alpha 透明度
drawstyle點的描繪方式
plt.grid()顯示座標網格線
plt.xlim()#設置x軸顯示範圍
plt.ylim()#設置y軸顯示範圍
plt.xlabel()設置x軸名稱
plt.title()設置圖像標題
plt.axhline() #繪製平行於x軸的水平參考線
plt.axvline() #繪製平行於y軸的水平參考線
plt.axhspan() #繪製垂直於y軸的參考區域
plt. axvspan() #繪製垂直於x軸的參考區域
plt.legend() #標示不同圖形的文本標籤圖例
plt.xticks() #設置x軸的標籤名稱
plt.yticks() #設置y軸的標籤名稱
plt.text() #添加圖形內容細節的無指向型註釋文本
plt.annotate() #添加圖形內容細節的指向型註釋文本

下面我通過一些具體的讓大家瞭解這些函數的用法和一些參數的設置。

線寬、描點方式、透明度設置

首先我們瞭解一下透明度,線的寬度以及點的描繪方式。drawstyles是定義描點方式,有default,steps,steps-mid,steps-post這四種。
在這裏插入圖片描述
alpha主要控制的是線和點的透明度,可以結合上下這兩個圖對比一下,就很明顯了。
在這裏插入圖片描述

圖像標題名稱等設置

在python中,正常情況下是不顯示中文的和負號,這個需要我們自己設置,添加下面這兩條語句,就能正常顯示中文和負號了。

plt.rcParams['font.sans-serif'] = ['SimHei']# 支持中文顯示
plt.rcParams['axes.unicode_minus'] = False #用來顯示正負符號

下面我通過一個例子,對標題名以及各座標軸範圍設置。
在這裏插入圖片描述

平行參考線、參考區域

這一塊比較簡單,我簡單的舉兩個例子,大家看一下就行啦。
在這裏插入圖片描述
在這裏插入圖片描述
通過這些操作,我們可以將一些不能直觀體現的東西,通過這些來表示出來,比如線與軸的面積等一些相關量。
到這裏,基本的圖形繪製差不多了,我們可以來了解一下標籤以及圖像上面的註釋添加。
最後我通過一個例子將上面的綜合一下。

x =np.linspace(0,10,5)
y1 =np.cos(x)
y2 =np.sin(x)
#plt.legend((y1,y2),('Men', 'Women'))
plt.plot(x,y1,linewidth=4,label ='正弦函數')#圖例1
plt.plot(x,y2,linewidth=5,label ='餘弦函數')#圖例2
plt.xlim(2,6)
plt.title("放大縮小圖像")
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.xticks([2,3,4,5,6], ['G1', 'G2', 'G3', 'G4', 'G5'])#將x軸原爲2,3,4,5,6用其他符號替代
plt.text(3,-0.5,'y =sin(x)',weight='bold',color ='r')#在線的位置顯示函數名無箭頭指向
plt.text(3,0.5,'y =cos(x)',weight='bold',color ='b')
plt.annotate("最小值",xy=(5,-1),xytext=(5.8,-1),arrowprops=dict(arrowstyle='->'))#有箭頭指向
plt.grid()#顯示網格
plt.axhspan(-0.25,0.35,facecolor ='yellow',alpha=0.3)#繪製垂直於y軸的區域
plt.axvspan(4,5,facecolor ='c',alpha=0.3)#繪製垂直於x軸的區域

繪製出的圖像是這樣,當你能繪製出這個圖時,你對圖像的一些基本繪製參數都掌握的差不多了。
在這裏插入圖片描述
接下來就可以瞭解一下每種圖形的繪製,比如以下圖形,大部分都是統計性圖表。
plt常見的二維圖形繪製命令
• plt.bar() #繪製柱狀圖
• plt.barh() #繪製條形圖
• plt.hist() #繪製直方圖
• plt.pie() #繪製餅圖
• plt.polar() #繪製極線圖
• plt.scatter() #繪製散點圖或氣泡圖
• plt.stem() #繪製棉棒圖
• plt.boxplot() #繪製箱線圖
• plt.errorbar() #繪製誤差棒圖
這些圖的操作,我下一篇博客將會詳細介紹一下如何使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章