第13關 吊打Excel的分類圖表-散點圖/箱線圖/琴形圖/點圖/柱狀圖/PairGrid- 小象學院

2022-01-26 Python家庭

收錄於話題 #數據分析 18個

(點擊下方快速 關注 並設為 星標,一起學python吧)導語

在上一節課程中,老師帶領大家一起學習了一個很強大的繪圖庫 Seaborn,它可以對連續型數值變量進行可視化。

那麼如果數據集中含有離散的分類變量,我們可以如何展示數據分布呢?

在今天的學習中,我們來一起學習類別數據的可視化方法。

知識結構

我們來一起看一下今天的知識結構:

在國外的用餐消費情況是怎樣的呢?這一關,我們將對國外餐館的相關數據進行分析,了解下男性/女性的消費情況有什麼不同,每天的消費情況有什麼特點。

今天我們使用到的數據集來源於Seaborn模塊的內置數據集,我們可以通過sns.load_dataset( )來直接加載使用。數據集的名稱叫做'tips'。

我們先將數據集導入,看一下數據長什麼樣,使用以下代碼:


import seaborn as sns tips = sns.load_dataset('tips') tips.head()


dataAnalysis_10_1_1_讀取數據tips

# 讀取數據tipsimport seaborn as snstips=sns.load_dataset('tips')tips.head()

我們看到數據中記錄了顧客信息顧客消費信息支付小費信息

當我們需要對數據進行可視化時,需要根據具體分析選擇合適的繪圖方法,比如,當我們需要對兩個變量繪製圖形,其中,一個為類別型變量,另外一個可以是數值型變量,那麼就要選擇滿足此要求的繪圖方法,若是要使用的兩個變量均是類別型變量,那麼需要被計算的類別型變量轉化為數值型,比如將性別變量中的男女處理為0和1。

眾多繪圖函數中,stripplot()函數可以對類別型變量和數值型變量繪製圖形,繪製得到的圖像叫做條形散點圖

條形散點圖是將自變量(也稱為特徵)中的每個不同值與相應的因變量組成的點聚集在一起,聚集點的分布類似於條形。

sns.stripplot( )的使用方法是:

sns.stripplot(x, y, data)

stripplot中的第一個參數x為橫坐標方向上的特徵,第二個參數y為縱坐標方向上的特徵,參數 data 用於指定數據集。

我們來繪製一下每天的消費總數條形散點圖。

請大家完成以下代碼,按照老師的指引,在#TODO的部分填充所需的代碼即可。

dataAnalysis_10_1_2_單變量條形散點圖

# 單變量條形散點圖import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製條形散點圖,x軸記錄day變量數據,y軸記錄total_bill數據sns.stripplot(x='day',y='total_bill',data=tips)
plt.title('每天消費總數條形散點圖')plt.show()


來看一下老師的代碼:

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製條形散點圖,x軸記錄day變量數據,y軸記錄total_bill數據sns.stripplot(x = 'day', y = 'total_bill', data = tips)plt.title('每天消費總數條形散點圖')plt.show()

數據按照星期變量分組繪製,每天的數據以散點的形式繪製在同一個條形中。散點對應的縱坐標位置表示相應的用餐消費金額。

我們可能會發現stripplot中點與點之間略有重疊。Seaborn中還有另外一個函數swarmplot,該函數利用一種特定算法使得我們的能更好看到數據的分布情況。

sns.swarmplot(x,y,data,color,alpha,[para])

swarmplot中的x為坐標軸中橫軸上的數據,參數y為坐標軸中豎軸上的數據,參數data為可視化的數據集,color為數據繪製的點的顏色,alpha為數據繪製的點的透明度,取值範圍為[0,1],值越大,點的顏色越深,值越小,點的顏色越淺,[para]為其它參數,同學可以自行發現和嘗試。

函數swarmplot(),它使用避免重疊點的算法將分類軸上的每個散點分開定位。sns.swarmplot()的使用方法和stripplot類似,大家嘗試修改一下代碼,看看得到的圖像有什麼區別。

dataAnalysis_10_1_4_單變量條形散點圖不重疊

# 單變量條形散點圖不重疊import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製swarmplot,x軸記錄day變量數據,y軸記錄total_bill數據sns.swarmplot(x='day',y='total_bill',data=tips,alpha=0.9999)
plt.title('每天消費總數條形散點圖')plt.show()

來看一下老師的代碼:

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製swarmplotsns.swarmplot(x = 'day', y = 'total_bill', data = tips)plt.title('每天消費總數條形散點圖')plt.show()


如果我們的數據集中含有另外一個分類變量,雙變量條形散點圖可在同一個條形柱中顯示另外一個特徵的分布。我們在繪製的時候傳入參數hue,設置為條形柱中將散點分類的另一個變量名即可。

請大家完成以下代碼,按照老師的指引,在#TODO的部分填充所需的代碼即可。

dataAnalysis_10_2_1_雙變量條形散點圖

# 雙變量條形散點圖import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製swarmplot,x為day,y為total_bill,傳入hue參數為性別sns.swarmplot(x='day',y='total_bill',hue='sex',data=tips)plt.title('每天消費總數分性別條形散點圖')plt.show()


來看一下老師的代碼:

    # 雙變量條形散點圖    import numpy as np    import pandas as pd    import matplotlib.pyplot as plt    import seaborn as sns    %matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO # 繪製swarmplot,傳入hue參數為性別 sns.swarmplot(x = 'day', y = 'total_bill', data = tips, hue = 'sex') plt.title('每天消費總數分性別條形散點圖') plt.show()


hue通過指定分組變量'sex',將自變量和因變量分為'Male''Female'兩組。數據點按照day變量分組,分為星期四、星期五、星期六、星期日,在橫軸的方向形成四個散點柱。

箱線圖

對於分類變量和連續型變量組成的數據集來說,我們也可以使用Seaborn繪製boxplot,Seaborn繪製boxplot使用sns.boxplot( )。傳入的參數和條形散點圖類似。

請大家嘗試完成以下代碼,按照老師的指引,在#TODO的部分填充所需的代碼即可。

dataAnalysis_10_3_1_箱線圖

# 箱線圖import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製箱線圖,每天消費總數分吸菸與否箱線圖sns.boxplot(x='day',y='total_bill',hue='smoker',data=tips)
plt.title('每天消費總數分吸菸與否箱線圖')plt.show()


來看一下老師的答案:

    # 箱線圖    import numpy as np    import pandas as pd    import matplotlib.pyplot as plt    import seaborn as sns    %matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO # 繪製箱線圖,每天消費總數分吸菸與否箱線圖 sns.boxplot(x = 'day', y = 'total_bill', hue = 'smoker',data = tips)
plt.title('每天消費總數分吸菸與否箱線圖') plt.show()


琴形圖

接下來我們再來介紹一種圖像:琴形圖。

琴形圖也叫作小提琴圖,它是箱線圖核密度圖的結合。回憶一下,直方圖和核密度圖的結合是distplot

在學習Seaborn的開始,我們見到的下面這張圖,就是琴形圖:

圖像內部黑色的盒形範圍為下四分位數上四分位數,外部曲線為兩個對稱的核密度圖,體現數據的密度高低:曲線曲率越大,數據的密度越大

繪製琴形圖使用sns.violinplot( )函數。參數的使用方法與上面的函數類似。

請大家完成以下代碼,按照老師的指引,在#TODO的部分填充所需的代碼即可。

dataAnalysis_10_3_2_琴形圖

# 琴形圖import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製'每天消費總數分吸菸與否琴形圖'sns.violinplot(x='day',y='total_bill',hue='smoker',data=tips)
plt.title('每天消費總數分吸菸與否琴形圖')plt.show()


來看一下老師的代碼:

# 琴形圖import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製'每天消費總數分吸菸與否琴形圖'sns.violinplot(x = 'day', y = 'total_bill', hue = 'smoker', data = tips)plt.title('每天消費總數分吸菸與否琴形圖')plt.show()


琴形圖中數據按照day變量分組,分組信息顯示在x軸上,y軸記錄total_bill的數值。琴形柱內部的盒形為數據的箱線圖,白色的點記錄數據的中位數值。琴形的外邊緣是由兩條數據的核密度曲線圍成的,數據密度越大,琴形的腰部越寬。

我們還可以在繪製琴形圖的時候加入幾個參數:

sns.violinplot(x, y, hue, data, inner, split)


inner參數用於設置琴形內部數據點的顯示類型,默認為box,表示琴形圖內顯示箱線圖,備選設置有:quartile表示顯示四分位數線、point表示顯示具體數據點、stick表示顯示具體數據棒,以及None表示琴形內部不顯示圖像。

split = True表示拆分小提琴圖,在同一個琴中左右兩邊分別顯示分類之後的數據,可比較經過hue拆分後的兩個變量。

下面我們加入這兩個參數,看看會得到什麼樣的圖像效果。

請大家完成以下代碼,按照老師的指引,在#TODO的部分填充所需的代碼即可。

dataAnalysis_10_3_3_多變量分類琴形圖

# 多變量分類琴形圖import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製'每天消費總數分吸菸與否琴形圖',琴形內部顯示四分位數線,且拆分小提琴圖sns.violinplot(x='day',y='total_bill',hue='smoker',data=tips,inner='quartile',split=True)
plt.title('每天消費總數分吸菸與否琴形圖')plt.show()


來看一下老師的答案:

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
# TODO# 繪製'每天消費總數分吸菸與否琴形圖',琴形內部顯示四分位數線,且拆分小提琴圖sns.violinplot(x = 'day', y = 'total_bill', hue = 'smoker', inner = 'quartile', split= True, data = tips)plt.title('每天消費總數分吸菸與否琴形圖')plt.show()


每個琴形柱按照中軸對稱線被分為左右兩個部分,左邊藍色的區域為吸菸人群的核密度曲線圖圍成的區域,右邊桔色的區域記錄不吸菸人群的核密度關係。

琴形圖條形散點圖可以結合起來繪製在同一張畫布中。分別繪製兩次圖像,就可以得到兩者的結合圖。

運行一下老師的代碼,來看一下圖像的效果。

# 琴形圖和散點圖結合import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
sns.violinplot(x = 'day', y = 'total_bill', data = tips, inner = None)sns.swarmplot(x = 'day', y = 'total_bill', data = tips, color = 'w', alpha = 0.5)plt.title('每天消費總數琴形散點圖')plt.show()


dataAnalysis_10_3_4_琴形圖和散點圖結合

# 琴形圖和散點圖結合import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
sns.violinplot(x = 'day', y = 'total_bill', data = tips, inner = None)sns.swarmplot(x = 'day', y = 'total_bill', data = tips, color = 'w', alpha = 0.5)plt.title('每天消費總數琴形散點圖')plt.show()


Seaborn中有factorplot( )PairGrid( )兩個更為高級的繪圖方法,可以將以上介紹的繪製方法封裝在同一個函數中,調用函數,factorplot( )通過'kind'參數即可切換,PairGrid使用map繪製圖形。

首先,我們來認識一下 factorplot(), 它的使用和琴形圖/箱線圖類似,但是,factorplot()添加了kind參數,這個參數允許factorplot()可以繪製各種圖,比如,點圖、柱狀圖、散點圖、箱線圖:

sns.factorplot(x, y, data, hue, kind)

kind參數默認為點圖point,還可以選擇柱形圖bar, 箱線圖box, 琴形圖violin, 散點圖strip,分散點圖swarm

點圖

kind參數默認為點圖,點圖是用兩組數據構成多個坐標點,展示坐標點的分布。判斷兩個變量之間是否存在某種關聯。

請大家運行以下代碼:

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
sns.factorplot(x='day', y='total_bill', hue='smoker', data=tips)plt.title('每天消費總數分吸菸與否點圖')plt.show()

dataAnalysis_10_4_1_點圖

# 點圖import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
sns.factorplot(x='day', y='total_bill', hue='smoker', data=tips)plt.title('每天消費總數分吸菸與否點圖')plt.show()tips.head()

/opt/conda/lib/python3.7/site-packages/seaborn/categorical.py:3669: UserWarning: The `factorplot` function has been renamed to `catplot`. The original name will be removed in a future release. Please update your code. Note that the default `kind` in `factorplot` (`'point'`) has changed `'strip'` in `catplot`.  warnings.warn(msg)

<Figure size 720x360 with 0 Axes>

數據按照day變量在橫軸的方向分組,每組中又通過設置hue參數為'smoker'分為吸菸或者不吸菸兩組。數據點表示每個分組中數據的均值,每個點垂直方向各有一條小線段,線段記錄均值的置信區間,通過參數ci可以設置置信水平,置信水平默認值為95。點與點之間用折線連接,反映數據的增長趨勢。可以看出,吸菸顧客在周五時支付的消費均值最少。

柱狀圖

可以將參數kind設置為bar,即可使用factorplot繪製柱形圖。

請大家複製並運行以下代碼:

    import numpy as np    import pandas as pd    import matplotlib.pyplot as plt    import seaborn as sns    %matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5)) sns.factorplot(x='day', y='total_bill', hue= 'smoker', kind = 'bar', data=tips) plt.title('每天消費總數分吸菸與否柱形圖') plt.show()


dataAnalysis_10_4_2_柱形圖

# 柱形圖import matplotlib.pyplot as pltimport seaborn as sns%matplotlib inlinetips=sns.load_dataset('tips')plt.figure(figsize=(10,8))sns.factorplot(x='day',y='total_bill',kind='bar',data=tips)plt.show()

/opt/conda/lib/python3.7/site-packages/seaborn/categorical.py:3669: UserWarning: The `factorplot` function has been renamed to `catplot`. The original name will be removed in a future release. Please update your code. Note that the default `kind` in `factorplot` (`'point'`) has changed `'strip'` in `catplot`.  warnings.warn(msg)

<Figure size 720x360 with 0 Axes>

問:老師這個和柱狀圖不太一樣哈,每個柱子面有個黑色的豎條,那是什麼?
答:那個黑色的豎條表示置信區間,通過參數ci可以來設置,默認值為95。

吸菸與不吸菸人群在不同day支付的消費數額以柱形圖的形式繪製,可以清楚地看出吸菸人群在周五支付的消費數額最低,周日最高。

條形散點圖

kind參數設置為swarm 可繪製條形散點圖,結合hue參數可做分類變量繪圖。

請大家複製並運行以下代碼:

    import numpy as np    import pandas as pd    import matplotlib.pyplot as plt    import seaborn as sns    %matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5)) sns.factorplot(x='day', y='total_bill', hue='smoker', col='time', kind = 'swarm', data=tips) plt.title('每天消費總數分吸菸與否、用餐時間條形散點圖') plt.show()


dataAnalysis_10_4_3_條形散點圖

# 條形散點圖import matplotlib.pyplot as pltimport seaborn as snsimport pandas as pd%matplotlib inlinetips=sns.load_dataset('tips')tips.to_csv('../../tmp/tips.csv')plt.figure(figsize=(10,8))sns.factorplot(x='day',y='total_bill',hue='smoker',col='time',kind='swarm',data=tips)plt.show()

/opt/conda/lib/python3.7/site-packages/seaborn/categorical.py:3669: UserWarning: The `factorplot` function has been renamed to `catplot`. The original name will be removed in a future release. Please update your code. Note that the default `kind` in `factorplot` (`'point'`) has changed `'strip'` in `catplot`.  warnings.warn(msg)

<Figure size 720x576 with 0 Axes>



col參數可以根據變量值設置子圖。col參數設置為time,因此繪製結果會根據time變量的取值分別輸出子圖。time變量記錄用餐時間,也即用餐類型:午餐或者晚餐,所以運行結果分別輸出午餐和晚餐的消費條形散點圖。可以看出,周四時午餐消費的顧客數較多,周六日晚餐消費的顧客數較多。

箱線圖

kind參數設置為box可繪製箱線圖,並可調整圖形的大小和形狀。

請大家複製並運行以下代碼:

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))sns.factorplot(x='day', y='total_bill', hue='smoker',col='time', kind = 'box', data=tips)plt.title('每天消費總數分吸菸與否、用餐時間箱線圖')plt.show()

dataAnalysis_10_4_4_箱線圖

# 箱線圖import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline

plt.figure(figsize=(10,8))tips=sns.load_dataset('tips')sns.factorplot(x='day',y='total_bill',hue='smoker',col='time',kind='box',data=tips)plt.show()


/opt/conda/lib/python3.7/site-packages/seaborn/categorical.py:3669: UserWarning: The `factorplot` function has been renamed to `catplot`. The original name will be removed in a future release. Please update your code. Note that the default `kind` in `factorplot` (`'point'`) has changed `'strip'` in `catplot`. warnings.warn(msg)

<Figure size 720x576 with 0 Axes>


吸菸與否的顧客被分為兩組,分別以箱線圖的形式展示消費數據的分布,可以看出周五晚餐吸菸與否的顧客消費數據的中位數相差較大。大家可能疑惑,周五不吸菸的人消費金額的中位數在圖中哪裡呀?這是因為消費金額的最大值和中位數幾乎相等,看起來是重疊的。

PairGrid

最後,我們來一起看一下PairGrid。PairGrid可繪製多變量分類圖,在畫布上以幾行幾列的形式,將不同變量繪製的圖在不同位置上,這些位置的布局類似於一個矩陣。

sns.PairGrid( ) 的使用方法是:

sns.PairGrid(data, x_vars, y_vars)


data參數用於設置繪圖所需的數據集,x_vars設置x軸上的分類變量,y_vars用於設置y軸方向上的分類變量。

我們在x軸的方向設置:'smoker','time', 'sex'變量,傳入變量時,使用列表的形式。y軸方向設置:'total_bill', 'tip'

設置好矩陣的參數之後,我們使用map函數,傳入要繪製的圖像種類:琴形圖,就可以繪製出多變量琴形圖了。

現在請大家運行以下代碼:

    import numpy as np    import pandas as pd    import matplotlib.pyplot as plt    import seaborn as sns    %matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5)) g = sns.PairGrid(tips, x_vars=['smoker', 'time', 'sex'], y_vars=['total_bill', 'tip'] ) g.map(sns.violinplot)    plt.show()


dataAnalysis_10_4_5_PairGrid圖

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))g = sns.PairGrid(tips, x_vars=['smoker', 'time', 'sex'], y_vars=['total_bill', 'tip'] )g.map(sns.violinplot)plt.show()

<Figure size 720x360 with 0 Axes>

x軸上的3個變量與y軸上的2個變量兩兩對應,分別繪製琴形圖,其中,從男性/女性的琴形圖中可以看出,男性顧客相對比女性顧客的消費金額較大,並且男性顧客比女性顧客支付的消費也較大。

知識總結

今天的內容就告一段落了。在今天的課程中,我們學習了如何繪製分類變量數據分布圖,包括:單變量條形散點圖、雙變量條形散點圖、箱線圖和琴形圖、多變量分類圖的繪製。我們來梳理一下知識點:

單雙變量條形散點圖:我們使用stripplot、swarmplot,結合hue參數,我們可以設置兩個分類變量,繪製雙變量條形散點圖。

箱線圖:我們使用Seaborn中的boxplot。

琴形圖:是一種箱線圖和密度圖的結合圖,繪製琴形圖使用violinplot。

factorplot:可以繪製點圖、柱形圖、條形散點圖和箱線圖等。

PairGrid: 可以繪製多變量分類圖,以矩陣的形式顯示。

最後我們把本關的知識點總結一下:

(完)

看完本文有收穫?

關注我們,一起學Python吧

點個 「分享在看」 和大家一起分享吧 

相關焦點

  • 散點圖、箱線圖、核密度函數……數據分析必備的9種可視化圖表
    如果x軸是一個時間序列,那麼線圖是一個很好的選擇。我們可能會在數據中看到一些時間上的趨勢。在本例中,只能看到數據是按「物種」列排序的(圖中紫色的步驟),並且其他列的移動平均值遵循該模式(花瓣長度,特別是紅色標記的花瓣長度)。散點圖這是一種將兩個連續變量之間的關係可視化的完美圖表。
  • 柱狀圖、箱線圖、提琴圖、傑特圖還有蜂窩圖,你要哪個?
    上次提到箱線圖等這些類型的圖可以展示更多的數據特點,很多人並不推薦使用柱狀圖。為了在科研論文中普及箱線圖(boxplot)的使用,nature method還專門發文力推。Visualization samples with box plots文中詳細講解了箱線圖的原理和優點,並與傳統柱狀圖做了對比。
  • python學習筆記:同時畫多圖,折線圖,箱線圖,條形圖,柱狀圖等
    (figure)figure()#使用subplot創建多個子圖,下面的subplot(2,3,1)表示創建一個包含2行3列圖表的圖紙,1表示第一張圖subplot(2,3,1)plot(x,y)#折線圖subplot(2,3,2)#縱向條形圖
  • 是Excel的圖,不!是R的圖
    ") # 點加線ggplot(df1,aes(id,value,colour=item))+ geom_point()+ geom_line()+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title = "帶直線和點數據標記的散點圖")ggplot
  • 箱線圖的生物學含義
    2.箱線圖的組成 箱形圖使用第25,50和75百分位數(也稱為下四分位數(Q1),中位數(m或Q2)和上四分位數(Q3),以及四分位數範圍(IQR = Q3-Q1,涵蓋50%的中央數據)來反映樣本的分布。四分位數不受異常值影響,並保留了中央數據和分布的信息。
  • R語言繪製抖動散點圖和蜂群圖
    這兩種類型的散點圖在文獻中都很常見,例如生物學研究中常使用它們展示基因定量表達的信息。除了R語言作圖外,本文還比較了二者各自的特點,並在最後簡單列舉了它們與其它類型的統計圖如箱線圖、提琴圖等的區別和聯繫,以及適用場合。 multcomp包的cholesterol數據集,來自某項臨床研究,記錄了50個患者接受降膽固醇藥物治療後的療效。
  • 【數據可視化】統計圖繪製神器:Seaborn
    若要直觀地反應一組數據的統計特徵,一圖勝過千萬言語。近期小編有若干統計圖需要繪製,在學習的過程中發現了一個很好用的工具,它可以簡單直觀地繪製出常用的統計圖。它就是Seaborn庫。Seaborn是基於Matplotlib開發的高階Python數據可視化圖庫。用戶能夠做出各種有吸引力的統計圖表,例如條形圖、散點圖、箱線圖等。
  • EXCEL箱線圖的作法
    豐富的繪圖功能是EXCEL軟體一大特色,在EXCEL中可以實現大部分統計圖的繪製,但作為常見的一種統計圖—箱線圖在EXCEL中並沒有它的身影。難道在EXCEL真的無法實現箱線圖的繪製嗎?在實踐中我們發現,儘管箱線圖在EXCEL中不能直接實現,卻可以通過間接的形式加以實現。
  • R語言 | R語言繪製抖動散點圖和蜂群圖
    這兩種類型的散點圖在文獻中都很常見,例如生物學研究中常使用它們展示基因定量表達的信息。除了R語言作圖外,本文還比較了二者各自的特點,並在最後簡單列舉了它們與其它類型的統計圖如箱線圖、提琴圖等的區別和聯繫,以及適用場合。 multcomp包的cholesterol數據集,來自某項臨床研究,記錄了50個患者接受降膽固醇藥物治療後的療效。
  • 基於ggplot2包繪製SCI學術箱線圖的保姆級教程
    箱線圖(Boxplot)是一種用作顯示一組數據分散情況資料的統計圖表。箱線圖,又稱箱形圖(boxplot)或盒式圖,不同於一般的折線圖、柱狀圖或餅圖等圖表,其包含一些統計學的均值、分位數、極值等統計量,該圖信息量較大,不僅能夠分析不同類別數據平均水平差異,還能揭示數據間離散程度、異常值、分布差異等。
  • Excel圖表學習13:在柱狀圖或折線圖中添加水平或垂直線(使用誤差線)
    X的值可以是0或1,這裡使用1來放置數據點和相應的數據標籤到圖表的右側。對這條直線使用次坐標水平軸,其刻度最小和最大值為0和1。Y值對應著平均值或者其他想要在圖表中指示的關鍵指標。圖5 選取新系列「平均值」,更改圖表類型為「僅帶數據標記的散點圖」,此時圖表中出現了次要坐標軸,如圖6和圖7所示。
  • 一圖看懂箱線圖,順便帶你鞏固matplotlib繪圖流程!
    在我之前發的箱線圖圖鑑中,有讀者表示看不懂箱線圖。今天本文就通過下面這張圖簡單講一下箱線圖沒錯,這張圖也是用matplotlib一點一點的繪製出來的,所以順便鞏固一下matplotlib繪圖的綜合應用。箱線圖怎麼看?
  • 33種經典圖表類型總結,輕鬆玩轉數據可視化
    ▲柱狀圖展示多個分類的數據變化和同類別各變量之間的比較情況。適用:對比分類數據。局限:分類過多則無法展示數據特點。相似圖表:堆積柱狀圖。比較同類別各變量和不同類別變量總和差異。百分比堆積柱狀圖。適合展示同類別的每個變量的比例。2. 條形圖
  • 【R語言】barplot柱狀圖+散點圖+誤差棒
    rm(list=ls()) #清除環境op=par(mar=c(5,5,1,1))#設置圖離邊緣的距離#做一個畫柱狀圖的矩陣data <- c(138302457,33047658) #需要用到的所有數據,用excel的AVERAGE函數算出的平均值(mean)rnames <- c("PLC/PRF/5","HepG2
  • 百川歸海,四類圖統攬統計圖:Seaborn|可視化系列03
    可通過palette及hue_norm/hue_order等參數進行定義;•kind:繪製圖表的類型,relplot有兩種選擇,分別為"scatter"和"line",默認是散點圖,也即scatter;•style:映射不同的散點形狀,圓形、三角形、十字等,容易想到ax.plot()裡的標記字符fmt;•palette:調色板,指定hue的顏色映射用;•size:映射散點的大小;•sizes:控制散點大小的範圍
  • excel分析圖表製作,如何輕鬆創建折線圖、柱狀圖、餅圖
    在Excel中通過數據間的關係選擇合適的圖表,輕鬆創建折線圖、柱狀圖、餅圖使其表達的主題和內容更加簡單清晰。下面我們通過Smartbi大數據分析工具介紹excel分析圖表製作方法,如何製作常用的圖形折線圖、柱狀圖、餅圖。
  • 手把手教你用plotly繪製excel中常見的8種圖表
    第一部分:柱狀圖、條形圖、折線圖、面積圖、餅圖與圓環圖、散點圖、氣泡圖和極坐標(雷達圖)第二部分:樹狀圖、旭日圖、直方圖、箱線圖、瀑布圖、漏鬥圖、股價圖和地圖excel插入圖表今天,我們介紹第一部分8類圖表的繪製。目錄:0.
  • 柱狀圖、堆疊柱狀圖、瀑布圖有什麼區別?怎樣用Python繪製?(附代碼)
    分組柱狀圖經常用於不同組間數據的比較,這些組都包含了相同分類的數據。例如,展示改革開放以來城鎮與農村人口的變化,不同遊戲公司的休閒、益智、格鬥類App的下載量對比等。圖2-36對比了2015—2017年間不同水果的銷量。與並排顯示分類的分組柱狀圖不同,堆疊柱狀圖將每個柱子進行分割以顯示相同類型下各個數據的大小情況。
  • Excel-箱線圖(數據分布)分析
    來源:CSDN博客箱線圖(Boxplot)也稱箱須圖(Box-whisker通過將多組數據的箱線圖畫在同一坐標上,則可以清晰地顯示各組數據的分布差異,為發現問題、改進流程提供線索。2.箱線圖的結構箱線圖包括一個矩形箱體和上下兩條豎線,箱體表示數據的集中範圍,上下兩條豎線分別表示數據向上和向下的延伸範圍
  • 《R數據可視化手冊》之—善變的散點圖
    散點圖和其他統計圖有這樣的聯繫在散點圖中,我們用點來表示每個樣本觀測,若改用直線連接所有觀測,就會得到折線圖;若用條形來表示樣本觀測,則會變成柱形圖。通過文獻中的例子深入理解散點圖在微生物組方向的文章中散點圖常用與排序分析,聚類分析,普氏分析,線性相關等我們結合<Most dominant roles of insect gut bacteria:digestion, detoxification, or essential nutrient provision?