tft每日頭條

 > 圖文

 > pythonmatplotlib繪制圖形對象

pythonmatplotlib繪制圖形對象

圖文 更新时间:2024-11-22 18:19:17

私信我,回複:學習,獲取免費學習資源包。

Matplotlib是Python的繪圖庫,其中的pyplot包封裝了很多畫圖的函數。

Matplotlib.pyplot 包含一系列類似 MATLAB 中繪圖函數的相關函數。每個 Matplotlib.pyplot 中的函數會對當前的圖像進行一些修改,例如:産生新的圖像,在圖像中産生新的繪圖區域,在繪圖區域中畫線,給繪圖加上标記,等等…… Matplotlib.pyplot 會自動記住當前的圖像和繪圖區域,因此這些函數會直接作用在當前的圖像上。

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)1

繪制線圖

plt.plot() 函數可以用來繪制線型圖:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)2

1

基本用法

指定x和y

  • plt.plot(x,y)

默認參數,x 為 0~N-1

  • plt.plot(y)

因此,在上面的例子中,我們沒有給定 x 的值,所以其默認值為 [0,1,2,3]

分别傳入 x 和 y:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)3

2

字符參數

和 MATLAB 中類似,我們還可以用字符來指定繪圖的格式。

表示顔色的字符參數有:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)4

表示類型的字符參數有:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)5

例如我們要畫出紅色圓點:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)6

可以看出,有兩個點在圖像的邊緣,因此,我們需要改變軸的顯示範圍。

3

顯示範圍

與 MATLAB 類似,這裡可以使用 axis 函數指定坐标軸顯示的範圍:

plt.axis([xmin, xmax, ymin, ymax])

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)7

4

傳入Numpy參數

之前我們傳給 plot 的參數都是列表,事實上,向 plot 中傳入 numpy 數組是更常用的做法。事實上,如果傳入的是列表,matplotlib 會在内部将它轉化成數組再進行處理:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)8

5

子圖

figure() 函數會産生一個指定編号為 num 的圖:

plt.figure(num)

這裡,figure(1) 其實是可以省略的,因為默認情況下 plt 會自動産生一幅圖像。

使用 subplot 可以在一副圖中生成多個子圖,其參數為:

plt.subplot(numrows, numcols, fignum)

當 numrows * numcols < 10 時,中間的逗号可以省略,因此 plt.subplot(211) 就相當于 plt.subplot(2,1,1)。

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)9

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)10

繪制柱狀圖

柱狀圖(bar chart),是一種以長方形的長度為變量的表達圖形的統計報告圖,由一系列高度不等的縱向條紋表示數據分布的情況,用來比較兩個或以上的價值(不同時間或者不同條件),隻有一個變量,通常利用于較小的數據集分析。柱狀圖亦可橫向排列,或用多維方式表達。

繪制每個國家或地區的電影數量的柱狀圖:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)11

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)12

繪制散點圖

用兩組數據構成多個坐标點,考察坐标點的分布,判斷兩變量之間是否存在某種關聯或總結坐标點的分布模式。

散點圖将序列顯示為一組點。值由點在圖表中的位置表示。類别由圖表中的不同标記表示。散點圖通常用于比較跨類别的聚合數據

根據電影時長和電影評分繪制散點圖:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)13

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)14

繪制餅圖

餅圖英文學名為Sector Graph, 有名Pie Graph。常用于統計學模塊。2D餅圖為圓形,手畫時,常用圓規作圖。

僅排列在工作表的一列或一行中的數據可以繪制到餅圖中。餅圖顯示一個數據系列中各項的大小與各項總和的比例,數據點顯示為整個餅圖的百分比。

函數原型:

pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None)

參數: x (每一塊)的比例,如果sum(x) > 1會使用sum(x)歸一化

labels (每一塊)餅圖外側顯示的說明文字

explode (每一塊)離開中心距離

startangle 起始繪制角度,默認圖是從x軸正方向逆時針畫起,如設定=90則從y軸正方向畫起

shadow表示是否陰影

labeldistance label繪制位置,相對于半徑的比例, 如<1則繪制在餅圖内側

autopct 控制餅圖内百分比設置,可以使用format字符串或者format function

'%1.1f'指小數點前後位數(沒有用空格補齊)

pctdistance 類似于labeldistance,指定autopct的位置刻度

radius 控制餅圖半徑

返回值: 如果沒有設置autopct,返回(patches, texts)

如果設置autopct,返回(patches, texts, autotexts)

根據電影的長度繪制餅圖:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)15

繪制直方圖

直方圖(Histogram)又稱質量分布圖。是一種統計報告圖,由一系列高度不等的縱向條紋或線段表示數據分布的情況。一般用橫軸表示數據類型,縱軸表示分布情況。

直方圖是數值數據分布的精确圖形表示。這是一個連續變量(定量變量)的概率分布的估計,并且被卡爾·皮爾遜(Karl Pearson)首先引入。它是一種條形圖。

為了構建直方圖,第一步是将值的範圍分段,即将整個值的範圍分成一系列間隔,然後計算每個間隔中有多少值。這些值通常被指定為連續的,不重疊的變量間隔。間隔必須相鄰,并且通常是(但不是必須的)相等的大小。

直方圖也可以被歸一化以顯示“相對”頻率。然後,它顯示了屬于幾個類别中的每個案例的比例,其高度等于1。

根據電影的評分繪制直方圖:

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)16

hist的參數非常多,但常用的就這七個,隻有第一個是必須的,其他是可選的。

arr: 需要計算直方圖的一維數組

bins: 直方圖的柱數,可選項,默認為10

normed: 是否将得到的直方圖向量歸一化。默認為0

facecolor: 直方圖顔色

edgecolor: 直方圖邊框顔色

alpha: 透明度

histtype: 直方圖類型,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’

返回值 :

n: 直方圖向量,是否歸一化由參數normed設定

bins: 返回各個bin的區間範圍

patches: 返回每個bin裡面包含的數據,是一個list

pythonmatplotlib繪制圖形對象(Python可視化庫Matplotlib繪圖入門詳解)17

來源網絡,侵權聯系删除

私信我,回複:學習,獲取免費學習資源包。

,

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

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

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