tft每日頭條

 > 生活

 > python如何調用matplotlib

python如何調用matplotlib

生活 更新时间:2024-12-03 03:06:23

本系列内容所用Python版本為anaconda,直接浏覽器搜索下載安裝即可!


今天我們開始學習Python第三方庫matplotlib的基礎知識。

一、matplotlib庫的概述

matplotlib庫是Python的一個繪圖庫,使用它可以輕松的繪畫出版質量的圖形

二、基本繪圖

matplotlib繪圖庫的核心方法是plot方法,該方法一般形式如下:

mp.plot(x,y),其中x和y是序列,并且元素一一對應,該方法參數還非常多,後續内容将圍繞展開,調用完plot方法後,還需調用mp.show()方法才能顯示圖像,該方法是阻塞方法,即不關閉顯示的圖像窗口後續代碼将停止運行,所以一般最後才調用show函數

1.簡單函數圖像

繪制一條函數圖像

python如何調用matplotlib(Python基礎之matplotlib庫)1

其顯示結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)2

2.水平線和垂直線

水平線的api:mp.hlines(xval,xmin,xmax)

垂直線的api:mp.vlines(vval,ymin,ymax)

其中value參數表示橫和豎的水平,min和max參數表示線的起止位置

python如何調用matplotlib(Python基礎之matplotlib庫)3

畫一條y為7.5,x為1到3的水平線,x為3,y為6到9的垂直線

其顯示結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)4

我們可以看到,hlines、vlines函數都是複數形式,說明可以就調用一次同時畫多條水平或垂直線

python如何調用matplotlib(Python基礎之matplotlib庫)5

方法的第一個列表參數為線的水平垂直程度,後兩個列表參數一一對應構成線的起止位置

其顯示結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)6

3.畫正弦函數

畫函數圖像的底層邏輯是找出函數上一一對應的x、y,通過連接每一個(x,y)而得到函數圖像,畫正弦函數時,x序列可以通過linspace方法線性拆分-π到π,y序列則通過sin函數代入每一個x得到

python如何調用matplotlib(Python基礎之matplotlib庫)7

其顯示結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)8

4.設置線型、線寬、線的顔色

mp.plot(xarray,yarray,linestyle='',linewidth=1,color='',alpha=0.5)

其中linestyle參數表示線的形狀,一般用到的有‘-’、‘--’、‘-.’、‘:’等,linewidth參數表示線的寬度,是數值,0.5表示是标準寬度的0.5倍,color參數表示線的顔色,可以是顔色的英文單詞,可以是首字母,可以是rgb數值,一般用到的有‘lightgray淺灰色’、‘orangered橙紅色’、‘dodgerblue藍色’、‘limegreen綠色’,alpha參數表示線的透明度

測試一下

python如何調用matplotlib(Python基礎之matplotlib庫)9

sinx/2的線型為--,這裡有筆誤

其結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)10

5.設置坐标軸的範圍

mp.xlim(xlimt_min,xlimt_max)

mp.ylim(ylimt_min,ylimt_max)

其中第一個參數為x/y軸的範圍最小值,第二個參數為x/y軸的範圍最大值

python如何調用matplotlib(Python基礎之matplotlib庫)11

給x軸y軸設定範圍

其運行結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)12

6.設置坐标軸的刻度

mp.xticks(x_val_list,x_text_list)

mp.yticks(x_val_list,x_text_list)

第一個參數表示坐标軸刻度的真實值,第二個參數則表示值的表示形式

python如何調用matplotlib(Python基礎之matplotlib庫)13

x_val_list是值列表,x_text_list是值得顯示形式列表

其顯示結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)14

latex語法

上圖中我們發現-π/2并不是我們常見的分數形式,顯示還是不直觀,特别是以後可能還會用到其它比較複雜的符号,輸入法根本打印不出來,這個就需要我們用到latex字符串語法

例如我們對上面代碼進行改進

python如何調用matplotlib(Python基礎之matplotlib庫)15

其運行結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)16

latex語法總是以兩個$符号為界限,字符串前面的r是為了轉義字符串裡面的反斜杠,\pi是符号π的意思,\frac是分數的意思,後面兩個中括号第一個填分子、第二個填分母,還有很多,大家可以去網上搜索學習

7.設置坐标軸的位置

上述的圖像其實有四條軸,left左軸、right右軸、top上軸、bottm下軸,并且x和y軸并不在中間,這時我們為了函數圖像的直觀,需要對坐标軸進行操作,一系列api如下:

ax=mp.gca()

該方法獲取當前的坐标軸字典,并賦值給變量ax

axis=ax.spines['坐标軸名']

該方法獲取單個坐标軸

axis.set_position((type,val))

該方法設置坐标軸的位置,參數為2個元素的元組

axis.set_color(color)

該方法改變坐标軸的顔色,參數為none時代表不要該坐标軸

python如何調用matplotlib(Python基礎之matplotlib庫)17

其運行結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)18

8.圖例

圖例是在函數坐标系适當位置标識出各個函數圖像,其api一般形式如下:

mp.legend(loc='')

其中參數loc表示圖例顯示在哪裡,默認為最佳位置,也可以設置為字符串'best'或'right top'等等,也可以直接寫數字0、1、2等等,0也是最佳位置的意思

但上述方法僅僅隻是顯示圖例的方法,我們在畫函數線的時候需要給該圖像一個标簽最終才能顯示出來,形如下面

mp.plot(x,y......label='y=sin(x)')

python如何調用matplotlib(Python基礎之matplotlib庫)19

其運行結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)20

9.特殊點

有時需要在函數圖像上對特殊點進行标記,這就需要用到特殊點的方法

mp.scatter(xarray,yarray,marker='',s='',edgecolor='',facecolor='',zorder=3)

xarray、yarray參數表示特殊點的坐标,可以是數組,marker參數表示特殊點的形狀常用形狀有'o'表示圓形、's'表示方形、'D'表示菱形等等,s參數表示特殊點的大小,edgecolor參數表示特殊點的邊緣色,facecolor表示特殊點的填充色,zorder參數則表示特殊點所在圖層編号,越大圖層則越靠上

python如何調用matplotlib(Python基礎之matplotlib庫)21

其運行結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)22

10.備注

為在某條函數上的點添加備注,指明相關信息

mp.annotate('',xy=(x,y),xytext=(x,y),fontzie=14,arrowprops=dict())

其中第一個字符串參數表示備注的文本,xy參數表示備注目标點的坐标,xytext參數則表示備注文本的坐标,arrowprops參數是一個字典,有兩個元素,一是箭頭形狀,二是箭連接方式

python如何調用matplotlib(Python基礎之matplotlib庫)23

其運行結果如下:

python如何調用matplotlib(Python基礎之matplotlib庫)24

好了,至此我們已經學習了matplotlib庫簡單的繪圖方法,後續我們将繼續學習更加高級的操作。

END

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved