matplotlib 使用簡明教程(三)-一些專業圖表簡介

這裏對一些不太瞭解領域的庫進行簡要的介(fan)紹(yi),感興趣的讀者可以自行了解。
這些圖表都在 matplotlib.pyplot 中進行了封裝。

統計、概率分佈

plt.boxplot(x,**kwargs)

繪製箱形圖

在這裏插入圖片描述

重要參數:

  • x:輸入的參數,可以是一個二維數組
  • positions:每個箱的位置
  • vert:True 爲圖表方向垂直,False 爲水平
  • whis:設置內限(上下邊緣)與四分位距的關係,默認 1.5
  • usermedians:使用該參數中的數據代替 x 中計算得出的均值
  • labels:標籤的數組

在這裏插入圖片描述

關於箱型圖

  • 上四分位 Q3
  • 下四分位 Q1
  • 四分位距 IQR=Q3-Q1
  • 異常值截斷點(內限) Q3+1.5IQR和Q1-1.5IQR
  • 外限 Q3+3IQR和Q1-3IQR
  • 溫和的異常值 內限與外限之間的異常值
  • 極端的異常值 外限意外的異常值

plt.violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False, points=100, bw_method=None, hold=None, data=None)

琴形圖和箱形圖式非常類似的,不過琴形圖會把分佈狀況也表現出來

在這裏插入圖片描述

重要參數:

  • dataset:將要繪製的數據集
  • positions:繪製琴的位置
  • vert:True 爲圖表方向垂直,False 爲水平
  • showmeans:是否顯示均值
  • showextrema:是否顯示極值
  • showmedians:是否顯示中位數

分級圖

plt.hexbin(x, y, C=None, gridsize=100, bins=None, **kwargs)

根據數據座標的分佈繪製分級圖

在這裏插入圖片描述

重要參數:

  • x, y:兩個一維數組,將根據 x[i],y[i] 組成座標的分佈,繪製分級圖
  • C:一維數組
    • C[i] 將會規定 (x[i], y[i])座標的權重,繪製時,某個座標點的權重會進行平均處理
    • 當 C 爲 None 時,x[i],y[i] 座標的權重爲 1 且結果不做平均值處理。
  • gridsize:默認 100,x 軸方向的六邊形數量;y 軸的六邊形數量會進行調整
  • bins:分級的方式
    • None :直接分級,六邊形的顏色即反應數量
    • ‘log’ :按照 log10(i+1)log_{10}(i+1) 決定六邊形顏色
    • 一個整數:該整數決定等級的數量
    • 一個整數序列:按照給定的整數序列確定每個分級的底線
  • xscale,yscale:x、y 軸的掃描方式,‘linear’ 或 ‘log’
  • mincnt:不顯示數量小於 mincnt 的六邊形

plt.pcolormesh([X, Y,] C, **kwargs)

根據座標情況繪製“僞色圖”,即通過顏色的冷暖而不是亮暗來顯示圖像。

在這裏插入圖片描述

  • C:代表顏色深度的二維數組
  • X、Y:座標的一維數組,可選

染色方式如下:

在這裏插入圖片描述

plt.hist(x, bins=None, **kwargs)

繪製柱狀圖,與 plt.bar() 的區別在於,hist 函數的參數是離散的數據,需要計算分佈結果後繪製;而 bar 函數的參數是直接的柱體高度。

在這裏插入圖片描述

重要參數:

  • x:一組或多組離散數據點,每組的數據不要求長度相同。
  • weights:每個數據點的權重
    • 一個與 x 形狀保持一致的數組,表示每個數據點的權重,結果會進行累加
    • None,每個數據點權重爲 1
  • bins:分級的方式
    • ‘auto’ :自動分級
    • 一個整數:該整數加 1 決定等級的數量
    • 一個整數序列:按照給定的整數序列確定每個分級的底線
  • range:一個元組數據,決定分級的最小、最大值
  • bottom:決定分級的基底
    • 一個數字:所有數據點的基底都由該數字決定
    • 一個數組:分別決定每個分佈的基底
  • density:是否使用概率密度函數顯示分佈結果

plt.hist2d(x, y, bins=10, range=None, normed=False, weights=None, cmin=None, cmax=None, hold=None, data=None, **kwargs)

繪製二維的柱狀圖,類似 hexbin 函數,不過每個小格是正方形的。

重要參數:

  • x,y:兩個一維數組,輸入的數據點座標信息
  • bins:決定分級方式
    • int,決定 x、y 的分級數
    • [int, int] 分別決定 x、y 的分級數
    • array 決定 x、y 每級的範圍
    • [array, array] 分別決定 x、y 的每級的範圍
  • range:一個 2x2 的矩陣,決定圖表範圍
  • weights:None 或一個一維數組,weights[i] 決定 (x[i], y[i]) 座標數據點的權重;默認權重爲 1
  • normed:是否使用數量而不是概率密度函數來顯示數據

頻譜分析

函數名 簡介
acorr 繪製 x 的自相關函數
xcorr 繪製 x 有 y 的互相關性
angle_spectrum 繪製角頻譜圖
magnitude_spectrum 繪製強度頻譜圖
phase_spectrum 繪製相位譜圖
cohere 繪製 x 與 y 的相干性圖
scd 繪製互譜密度
psd 繪製功率譜密度
spectrogram 短時傅里葉變換

等高線

函數名 簡介
clabel 給一條等高線添加標註
contour 繪製等高線
contourf 在等高線間填充

場/流

函數名 簡介
barbs 風速場
quiver 箭頭圖
quiverkey 給 quiver 添加註釋表填
streamplot 帶有場的箭頭

系列文章:

matplotlib 使用簡明教程(一)-基礎概念:
https://blog.csdn.net/fenghuizhidao/article/details/79352882
matplotlib 使用簡明教程(二)-常用圖表
https://blog.csdn.net/fenghuizhidao/article/details/83090043
matplotlib 使用簡明教程(三)-一些專業圖表簡介
https://blog.csdn.net/fenghuizhidao/article/details/83090165
matplotlib 使用簡明教程(四)-輔助性元件
https://blog.csdn.net/fenghuizhidao/article/details/83090249
matplotlib 使用簡明教程(五)-畫布、圖表、元素基礎操作
https://blog.csdn.net/fenghuizhidao/article/details/83090320
matplotlib 使用簡明教程(六)-圖像、動畫相關
https://blog.csdn.net/fenghuizhidao/article/details/83090512
matplotlib 使用簡明教程(七)-樣式定義
https://blog.csdn.net/fenghuizhidao/article/details/83090553

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