matplotlib 使用簡明教程(三)-一些專業圖表簡介
阿新 • • 發佈:2018-12-15
這裡對一些不太瞭解領域的庫進行簡要的介(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’ :按照 決定六邊形顏色
- 一個整數:該整數決定等級的數量
- 一個整數序列:按照給定的整數序列確定每個分級的底線
- 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 | 帶有場的箭頭 |