matplotlib 使用簡明教程(三)-一些專業圖表簡介
- 統計、概率分佈
- `plt.boxplot(x,**kwargs)`
- `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)`
- 分級圖
- `plt.hexbin(x, y, C=None, gridsize=100, bins=None, **kwargs)`
- `plt.pcolormesh([X, Y,] C, **kwargs)`
- `plt.hist(x, bins=None, **kwargs)`
- `plt.hist2d(x, y, bins=10, range=None, normed=False, weights=None, cmin=None, cmax=None, hold=None, data=None, **kwargs)`
- 頻譜分析
- 等高線
- 場/流
這裏對一些不太瞭解領域的庫進行簡要的介(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 | 帶有場的箭頭 |
系列文章:
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