Python 的桑基圖是一種非常有效的數(shù)據(jù)可視化工具,它可以展現(xiàn)不同流量之間的關(guān)系,最常見(jiàn)的應(yīng)用場(chǎng)景是展示不同產(chǎn)品或服務(wù)銷(xiāo)售數(shù)量之間的關(guān)系。下面我們來(lái)看一個(gè)簡(jiǎn)單的示例:
import pandas as pd import matplotlib.pyplot as plt import squarify # 計(jì)算數(shù)據(jù) data = pd.DataFrame({ '銷(xiāo)售量': [30, 25, 25, 20], '產(chǎn)品': ['A', 'B', 'C', 'D'], '顏色': ['紅', '黃', '藍(lán)', '綠'] }) size = data['銷(xiāo)售量'] label = data.apply(lambda x: str(x[0]) + ' ' + x[1] + ' (' + x[2] + ')', axis=1) colors = ['#FFCDD2', '#D1C4E9', '#B2EBF2', '#C8E6C9'] # 繪制桑基圖 squarify.plot(sizes=size, label=label, color=colors, alpha=.7) plt.axis('off') plt.show()
這段代碼首先引入了 pandas 和 matplotlib 庫(kù),并且計(jì)算了一個(gè)數(shù)據(jù)表格,其中包含了不同產(chǎn)品的銷(xiāo)售量以及顏色。隨后使用 squarify 庫(kù)繪制出了桑基圖。結(jié)果如下:
從圖中可以清晰地看出,產(chǎn)品 A 占據(jù)了最大的比重,而且它的顏色是紅色。另外,從顏色的對(duì)應(yīng)關(guān)系可以看出,黃色對(duì)應(yīng)的是產(chǎn)品 B,藍(lán)色對(duì)應(yīng)的是產(chǎn)品 C,綠色對(duì)應(yīng)的是產(chǎn)品 D。
總的來(lái)說(shuō),Python 桑基圖是一種非常實(shí)用的數(shù)據(jù)可視化工具,適合于各種不同類(lèi)型的數(shù)據(jù)分析場(chǎng)景。希望大家可以掌握這個(gè)工具,提高數(shù)據(jù)分析的效率和準(zhǔn)確性。