Seaborn 條形圖和堆疊條形圖
Manav Narula
2021年10月2日
2021年4月29日
條形圖用於以矩形條表示觀測值。Python 中的 seaborn 模組使用 seaborn.barplot()
函式建立條形圖。
請參考下面的程式碼,為商品在不同日期的價格建立一個簡單的條形圖。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Price 1": [7,1,5,6,3,10,5,8],
"Day": [1,2,3,4,5,6,7,8]})
s1 = sns.barplot(x = 'Day', y = 'Price 1', data = df, color = 'red')
在本教程中,我們將學習如何在 Seaborn 中建立堆疊的條形圖。
當我們談論堆疊的條形圖時,我們的意思是在同一張圖中表示兩組或更多組觀察值。這使整個圖形具有堆疊的外觀,並且在第二組上放置了一組觀察值。
我們沒有可以直接建立這種堆疊條形圖的函式,但是我們可以使用傳統的 seaborn.barplot()
方法繪製兩個單獨的條形圖,並將它們放置在彼此的頂部。
我們在以下程式碼中實現此邏輯。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Price 1": [7,1,5,6,3,10,5,8],
"Price 2" : [1,2,8,4,3,9,5,2],
"Day": [1,2,3,4,5,6,7,8]})
s1 = sns.barplot(x = 'Day', y = 'Price 1', data = df, color = 'red')
s2 = sns.barplot(x = 'Day', y = 'Price 2', data = df, color = 'blue')
在上圖中,我們在條形圖上繪製了兩種商品在不同日期的價格。
如果需要,我們可以在同一條形圖上表示一組分類值的觀察值。最終結果將不是堆疊外觀,而是代表同一條圖上多個條上的觀測值。
請參考以下程式碼。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Price": [7,1,5,6,3,10,5,8],
"Product": ['C1','C2','C1','C2','C1','C2','C1','C2'],
"Day": [1,1,2,2,3,3,4,4]})
s = sns.barplot(x ="Day", y = 'Price', data = df, hue = "Product")
我們能夠在同一張圖上繪製 4 個不同日期的 2 種產品的價格。我們給 x 和 y 軸提供條形圖的期望值,並使用 hue
引數對不同類別的觀察進行分組,以便在同一圖形上建立不同的條形。這樣,最終輸出將更加整潔,並且僅使用一個函式即可完成所有操作。
Author: Manav Narula
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn