如何調(diào)整seaborn直方圖的橫軸為分類變量
使用seaborn繪制直方圖時,一般需要對bins或binwidth參數(shù)進行設(shè)定。但是如果不進行設(shè)置,默認值有時候可能不太合適。其中一個實例是當(dāng)變量的分類較少時,直方圖的橫軸的分類區(qū)間就比較少。在這種
使用seaborn繪制直方圖時,一般需要對bins或binwidth參數(shù)進行設(shè)定。但是如果不進行設(shè)置,默認值有時候可能不太合適。其中一個實例是當(dāng)變量的分類較少時,直方圖的橫軸的分類區(qū)間就比較少。在這種情況下,默認的bin寬度可能過小,從而在分布中產(chǎn)生尷尬的間隙。本文將介紹如何進行調(diào)整。
觀察變量分類較少時的直方圖展示形式
首先我們來看一個例子。運行以下代碼:
```python
import seaborn as sns
tips sns.load_dataset('tips')
sns.displot(datatips, x'size')
```
可以看到,size字段只有六種類別,在直方圖中出現(xiàn)了空隙。
解決方法1:指定具體的邊緣范圍
一種解決方法是給參數(shù)bins傳入具體的邊緣范圍(一個數(shù)組)。運行以下代碼:
```python
sns.displot(datatips, x'size', bins[1, 2, 3, 4, 5, 6])
```
通過指定bins參數(shù),每個值的邊緣被明確定義,并且消除了空隙。
解決方法2:設(shè)置參數(shù)discreteTrue
另一種解決方法是設(shè)置參數(shù)discreteTrue。該參數(shù)表示數(shù)據(jù)集中唯一值的分箱分隔符,直方圖以相應(yīng)值為中心。運行以下代碼:
```python
sns.displot(datatips, x'size', discreteTrue)
```
從結(jié)果可以看出,每個柱體變成以對應(yīng)的分類為中心的條形。
通過以上兩種方法,我們可以輕松調(diào)整seaborn直方圖的橫軸為分類變量,避免出現(xiàn)尷尬的間隙,使得圖像更加準確地展示數(shù)據(jù)分布情況。