???作者介紹:10年大廠(chǎng)數(shù)據(jù)\經(jīng)營(yíng)分析經(jīng)驗(yàn),現(xiàn)任大廠(chǎng)數(shù)據(jù)部門(mén)負(fù)責(zé)人。
會(huì)一些的技術(shù):數(shù)據(jù)分析、算法、SQL、大數(shù)據(jù)相關(guān)、python歡迎加入社區(qū):碼上找工作
作者專(zhuān)欄每日更新:LeetCode解鎖1000題: 打怪升級(jí)之旅
python數(shù)據(jù)分析可視化:企業(yè)實(shí)戰(zhàn)案例
備注說(shuō)明:方便大家閱讀,統(tǒng)一使用python,帶必要注釋?zhuān)娞?hào) 數(shù)據(jù)分析螺絲釘 一起打怪升級(jí)
桑基圖(Sankey Diagram)是一種特殊類(lèi)型的流圖,以流的寬度來(lái)表示數(shù)據(jù)量的大小,廣泛應(yīng)用于展示能量、材料、成本或其他信息的流動(dòng)和轉(zhuǎn)化。它能直觀地顯示多個(gè)過(guò)程或階段之間的關(guān)系,以及在這些過(guò)程中量的分配或轉(zhuǎn)換情況。介紹?;鶊D之前我們先介紹一下這次主要用到的庫(kù)plotly
:
plotly庫(kù)介紹
plotly
是一個(gè)非常強(qiáng)大的Python圖形庫(kù),它支持創(chuàng)建豐富的交互式圖表和數(shù)據(jù)可視化。作為一個(gè)開(kāi)源庫(kù),plotly
允許用戶(hù)以簡(jiǎn)單的Python代碼生成復(fù)雜的圖形,如線(xiàn)圖、散點(diǎn)圖、柱狀圖、餅圖、熱力圖、3D圖和桑基圖等。由于其交互性強(qiáng),plotly
生成的圖表可以讓用戶(hù)通過(guò)鼠標(biāo)操作(如點(diǎn)擊、拖拽、縮放等)來(lái)探索數(shù)據(jù),這使得plotly
在數(shù)據(jù)分析和科學(xué)研究中尤為受歡迎。
核心特點(diǎn)
-
交互性:
plotly
圖表具有高度的交互性,用戶(hù)可以直接在圖表上進(jìn)行操作,如懸停顯示詳細(xì)信息、縮放、更新數(shù)據(jù)等。 -
多平臺(tái)支持:
plotly
可以在Jupyter Notebook中直接使用,同時(shí)支持將圖表導(dǎo)出為HTML文件,便于在網(wǎng)頁(yè)中嵌入和分享。 -
豐富的圖表類(lèi)型:
plotly
支持廣泛的圖表類(lèi)型,能夠覆蓋絕大多數(shù)的數(shù)據(jù)可視化需求。 -
高度可定制:幾乎圖表中的每個(gè)元素都是可定制的,包括顏色、大小、布局等,滿(mǎn)足個(gè)性化的展示需求。
-
與Dash結(jié)合:
plotly
是構(gòu)建Dash應(yīng)用的核心庫(kù)之一,Dash是一個(gè)用于構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用的框架,利用plotly
進(jìn)行數(shù)據(jù)可視化。
基本用法
安裝plotly
:
pip install plotly
創(chuàng)建一個(gè)簡(jiǎn)單的散點(diǎn)圖:
import plotly.graph_objects as go
# 創(chuàng)建散點(diǎn)圖
fig = go.Figure(data=go.Scatter(x=[1, 2, 3, 4], y=[10, 11, 12, 13], mode='markers'))
# 顯示圖表
fig.show()
創(chuàng)建?;鶊D:
import plotly.graph_objects as go
fig = go.Figure(go.Sankey(
node=dict(
pad=15,
thickness=20,
line=dict(color="black", width=0.5),
label=["Node 1", "Node 2", "Node 3"],
),
link=dict(
source=[0, 1], # 定義源節(jié)點(diǎn)
target=[2, 2], # 定義目標(biāo)節(jié)點(diǎn)
value=[8, 4], # 定義流量值
)))
fig.update_layout(title_text="簡(jiǎn)單?;鶊D示例")
fig.show()
高級(jí)用法
動(dòng)畫(huà)
plotly
支持為圖表添加動(dòng)畫(huà)效果,這對(duì)于展示隨時(shí)間變化的數(shù)據(jù)特別有用。例如,可以創(chuàng)建一個(gè)動(dòng)畫(huà)來(lái)展示股票價(jià)格的變化或者氣候變化的模擬。
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# 創(chuàng)建帶有動(dòng)畫(huà)的散點(diǎn)圖
fig = make_subplots(rows=1, cols=1)
# 添加初始數(shù)據(jù)
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[10, 11, 12, 13], mode="markers"), row=1, col=1)
# 添加動(dòng)畫(huà)幀
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[13, 11, 12, 10], mode="markers"), row=1, col=1)
fig.update_layout(updatemenus=[dict(type="buttons",
buttons=[dict(label="Play",
method="animate",
args=[None])])])
# 定義動(dòng)畫(huà)
fig.update(frames=[go.Frame(data=[go.Scatter(x=[1, 2, 3, 4], y=[11, 12, 13, 14])]),
go.Frame(data=[go.Scatter(x=[1, 2, 3, 4], y=[14, 13, 12, 11])])])
fig.show()
展示-點(diǎn)擊前
展示-點(diǎn)擊后
子圖布局
plotly
允許在一個(gè)圖表中創(chuàng)建多個(gè)子圖(subplot),這在需要同時(shí)展示多個(gè)相關(guān)數(shù)據(jù)集時(shí)非常有用。
from plotly.subplots import make_subplots
import plotly.graph_objects as go
# 創(chuàng)建包含2行1列子圖的圖表
fig = make_subplots(rows=2, cols=1)
# 添加第一個(gè)子圖:折線(xiàn)圖
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[4, 5, 6]), row=1, col=1)
# 添加第二個(gè)子圖:柱狀圖
fig.add_trace(go.Bar(x=[1, 2, 3], y=[3, 2, 1]), row=2, col=1)
fig.show()
樣式定制
plotly
提供了廣泛的樣式定制選項(xiàng),包括顏色、字體、圖例、布局等,使得圖表完全符合你的品牌或個(gè)人偏好。
import plotly.graph_objects as go
fig = go.Figure(data=go.Bar(x=['A', 'B', 'C'], y=[20, 14, 23]))
fig.update_layout(title_text='自定義樣式示例',
title_font_size=20,
xaxis=dict(title='X軸標(biāo)題'),
yaxis=dict(title='Y軸標(biāo)題'),
paper_bgcolor='lightgray',
plot_bgcolor='lightblue')
fig.show()
與Dash集成創(chuàng)建交互式Web應(yīng)用
plotly
是Dash框架的核心,Dash允許開(kāi)發(fā)者用純Python構(gòu)建豐富的交互式Web應(yīng)用。這使得plotly
不僅限于靜態(tài)的數(shù)據(jù)可視化,還可以用于開(kāi)發(fā)復(fù)雜的分析工具和儀表盤(pán)。
# 需要安裝dash庫(kù)
from dash import Dash, dcc, html
import plotly.graph_objects as go
app = Dash(__name__)
fig = go.Figure(data=go.Bar(y=[1, 3, 2]))
graph = dcc.Graph(figure=fig)
app.layout = html.Div(children=[html.H1(children='Hello Dash'),
html.Div(children='Dash: Web Dashboards with Python.'),
graph])
if __name__ == '__main__':
app.run_server(debug=True)
企業(yè)場(chǎng)景
-
能源流動(dòng):展示能源從來(lái)源到最終用途的轉(zhuǎn)化和分布,如電力或熱能的生產(chǎn)、傳輸和消耗過(guò)程。
-
成本流分析:在生產(chǎn)和服務(wù)過(guò)程中,通過(guò)?;鶊D可以直觀地顯示不同成本因素(原材料、人工、運(yùn)輸?shù)龋┤绾谓M成總成本。
-
物料與資源流:用于展示在生產(chǎn)系統(tǒng)中物料的流動(dòng)路徑和損耗情況,幫助優(yōu)化資源利用效率。
-
網(wǎng)站用戶(hù)行為:分析用戶(hù)在網(wǎng)站或應(yīng)用中的行為路徑,如頁(yè)面訪(fǎng)問(wèn)流程、購(gòu)物車(chē)添加到購(gòu)買(mǎi)的轉(zhuǎn)化流程等。
-
供應(yīng)鏈與物流:顯示產(chǎn)品從原材料采購(gòu)、生產(chǎn)加工到最終銷(xiāo)售的全過(guò)程中的物流和信息流。
使用方法
?;鶊D的制作涉及以下幾個(gè)關(guān)鍵步驟:
-
確定節(jié)點(diǎn):定義圖中的所有節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)代表流程中的一個(gè)狀態(tài)或階段。
-
定義流:確定節(jié)點(diǎn)之間的流動(dòng)關(guān)系,包括流的來(lái)源和去向。
-
量化數(shù)據(jù):為每條流分配一個(gè)量值,量值的大小將決定圖中流的寬度。
-
選擇工具:根據(jù)需求選擇合適的工具繪制?;鶊D。常用的工具包括Python的
matplotlib
、plotly
庫(kù),以及在線(xiàn)制圖工具如SankeyMATIC或Google Charts等。 -
自定義樣式:根據(jù)展示需求調(diào)整桑基圖的顏色、標(biāo)簽、布局等,使圖表更加直觀易懂。
案例分析-城市在一年內(nèi)的能源消耗流動(dòng)
背景
假設(shè)我們需要分析一個(gè)城市在一年內(nèi)的能源消耗流動(dòng)情況。這個(gè)城市主要的能源來(lái)源包括:太陽(yáng)能、風(fēng)能、煤炭和天然氣。這些能源被用于發(fā)電、供暖和汽車(chē)燃料。目標(biāo)是直觀展示各種能源來(lái)源到最終用途的流動(dòng)路徑及其量值,從而評(píng)估城市能源利用的效率和可持續(xù)性
數(shù)據(jù)
展示了能源流動(dòng)的來(lái)源、目標(biāo)和量值:
數(shù)據(jù)可視化
通過(guò)桑基圖,我們可以直觀地看到城市能源消耗的全貌,包括各種能源來(lái)源對(duì)發(fā)電、供暖和汽車(chē)燃料的貢獻(xiàn)比例。從圖中可以發(fā)現(xiàn),煤炭是主要的能源來(lái)源,尤其在發(fā)電和供暖方面的貢獻(xiàn)最大,但這也可能意味著較高的碳排放。太陽(yáng)能和風(fēng)能雖然對(duì)發(fā)電有所貢獻(xiàn),但總量相對(duì)較小,表明可再生能源的利用率有待提高
python代碼
import?plotly.graph_objects?as?go
# 定義節(jié)點(diǎn):能源來(lái)源 + 使用目的
labels?=?["太陽(yáng)能",?"風(fēng)能",?"煤炭",?"天然氣",?"發(fā)電",?"供暖",?"汽車(chē)燃料"]
# 定義流:源節(jié)點(diǎn)、目標(biāo)節(jié)點(diǎn)、流量值
source = [0, 1, 2, 3, 3, 2, 2, 3] # 能源來(lái)源節(jié)點(diǎn)索引
target = [4, 4, 4, 4, 5, 5, 6, 6] # 使用目的節(jié)點(diǎn)索引
value?=?[120,?180,?500,?200,?150,?350,?50,?30]??#?流量值(千兆瓦時(shí))
# 創(chuàng)建?;鶊D
fig = go.Figure(data=[go.Sankey(
node=dict(
pad=15, # 節(jié)點(diǎn)間距
thickness=20, # 節(jié)點(diǎn)厚度
line=dict(color="black", width=0.5),
label=labels,
),
link=dict(
source=source, # 源節(jié)點(diǎn)索引列表
target=target, # 目標(biāo)節(jié)點(diǎn)索引列表
value=value, # 流量值列表
????))])
fig.update_layout(title_text="城市能源消耗流動(dòng)分析", font_size=10)
fig.show()
案例分析-企業(yè)成本分析
場(chǎng)景
一家大型企業(yè)希望通過(guò)深入分析其一年內(nèi)的成本構(gòu)成來(lái)識(shí)別成本節(jié)約的機(jī)會(huì)。該企業(yè)的成本主要包括原材料成本、勞動(dòng)力成本、制造成本、銷(xiāo)售與市場(chǎng)推廣成本以及其他運(yùn)營(yíng)成本。通過(guò)構(gòu)建一個(gè)?;鶊D,企業(yè)能夠直觀地理解不同成本部分如何貢獻(xiàn)到總成本中,并識(shí)別可能的成本優(yōu)化領(lǐng)域。
數(shù)據(jù)
以下是該企業(yè)一年內(nèi)不同成本部分的數(shù)據(jù)(單位:百萬(wàn)美元):
cost_data = {
'總成本': 1000,
'原材料成本': 300,
'勞動(dòng)力成本': 200,
'制造成本': 250,
'銷(xiāo)售與市場(chǎng)推廣成本': 150,
'其他運(yùn)營(yíng)成本': 100
}
?
數(shù)據(jù)可視化
原材料成本和勞動(dòng)力成本是主要的直接成本:這兩項(xiàng)成本直接流向制造成本,表明它們是生產(chǎn)過(guò)程中最重要的成本組成部分。這反映了在制造行業(yè)中,原材料采購(gòu)和人力資源管理對(duì)于成本控制的重要性。
制造成本占總成本的一大塊:制造成本不僅包括原材料和勞動(dòng)力,還可能包含其他間接成本,如設(shè)備折舊、能源消耗等。這提示管理層需要關(guān)注生產(chǎn)效率和生產(chǎn)過(guò)程中的成本優(yōu)化
import plotly.graph_objects as go
?
# 定義?;鶊D的節(jié)點(diǎn)標(biāo)簽
labels = ["總成本", "原材料成本", "勞動(dòng)力成本", "制造成本", "銷(xiāo)售與市場(chǎng)推廣成本", "其他運(yùn)營(yíng)成本"]
?
# 定義?;鶊D的流
source = [1, 2, 3, 3, 3, 3] # 流的源節(jié)點(diǎn)索引
target = [3, 3, 0, 4, 5, 0] # 流的目標(biāo)節(jié)點(diǎn)索引
value = [300, 200, 250, 150, 100, 500] # 流的數(shù)值
customdata = ["300百萬(wàn)美元", "200百萬(wàn)美元", "250百萬(wàn)美元", "150百萬(wàn)美元", "100百萬(wàn)美元", "500百萬(wàn)美元"] # 自定義數(shù)據(jù)
?
# 創(chuàng)建?;鶊D
fig = go.Figure(data=[go.Sankey(
node=dict(
pad=15,
thickness=20,
line=dict(color="black", width=0.5),
label=labels,
),
link=dict(
source=source, # 源節(jié)點(diǎn)索引列表
target=target, # 目標(biāo)節(jié)點(diǎn)索引列表
value=value, # 流的數(shù)值
customdata=customdata, # 流的自定義數(shù)據(jù)
hovertemplate='%{customdata}<extra></extra>' # 設(shè)置鼠標(biāo)懸停時(shí)顯示的文本模板
))])
?
fig.update_layout(title_text="年度企業(yè)成本分析桑基圖", font_size=10)
fig.show()
案例分析-電子商務(wù)網(wǎng)站用戶(hù)行為
場(chǎng)景
一個(gè)電子商務(wù)網(wǎng)站希望分析其用戶(hù)的行為路徑,從訪(fǎng)問(wèn)首頁(yè)開(kāi)始,到瀏覽產(chǎn)品、添加到購(gòu)物車(chē)、進(jìn)行結(jié)算,最后到完成購(gòu)買(mǎi)的整個(gè)流程。目的是為了了解在哪些步驟中用戶(hù)最可能流失,以便采取措施優(yōu)化用戶(hù)體驗(yàn)和提高轉(zhuǎn)化率。
數(shù)據(jù)
以下是一個(gè)簡(jiǎn)化的示例數(shù)據(jù),描述了用戶(hù)在不同步驟中的數(shù)量:
-
首頁(yè)訪(fǎng)問(wèn): 10000 用戶(hù)
-
瀏覽產(chǎn)品: 5000 用戶(hù)
-
添加到購(gòu)物車(chē): 2500 用戶(hù)
-
進(jìn)行結(jié)算: 1250 用戶(hù)
-
完成購(gòu)買(mǎi): 600 用戶(hù)
數(shù)據(jù)可視化
直接在?;鶊D流上或節(jié)點(diǎn)旁靜態(tài)顯示轉(zhuǎn)化率在plotly
中并不直接支持,因此以下示例采用了一種間接的方式,即在圖表的標(biāo)題中包含轉(zhuǎn)化率信息會(huì)更直觀一些
基于網(wǎng)站用戶(hù)行為路徑的桑基圖分析,其中展示了從“首頁(yè)訪(fǎng)問(wèn)”到“完成購(gòu)買(mǎi)”的整個(gè)過(guò)程,以及各個(gè)步驟的轉(zhuǎn)化率,我們可以得出以下結(jié)論:
顯著的轉(zhuǎn)化漏斗:數(shù)據(jù)明顯展示了一個(gè)典型的轉(zhuǎn)化漏斗模型,用戶(hù)數(shù)量從首頁(yè)訪(fǎng)問(wèn)到最終購(gòu)買(mǎi)逐步減少。這種模式在電子商務(wù)網(wǎng)站中很常見(jiàn),但關(guān)鍵在于識(shí)別和優(yōu)化轉(zhuǎn)化路徑中的關(guān)鍵節(jié)點(diǎn),以最大化轉(zhuǎn)化率。
關(guān)鍵流失點(diǎn):在從“添加到購(gòu)物車(chē)”到“進(jìn)行結(jié)算”的過(guò)程中,轉(zhuǎn)化率出現(xiàn)了明顯下降。這提示我們這一環(huán)節(jié)可能是用戶(hù)流失的關(guān)鍵點(diǎn),需要進(jìn)一步分析原因(如是否購(gòu)物車(chē)頁(yè)面的用戶(hù)體驗(yàn)存在問(wèn)題,結(jié)算流程是否過(guò)于復(fù)雜等),并采取相應(yīng)的優(yōu)化措施。
簡(jiǎn)化購(gòu)買(mǎi)流程:由于在結(jié)算環(huán)節(jié)存在較大的流失,簡(jiǎn)化購(gòu)買(mǎi)和結(jié)算流程可能有助于提高轉(zhuǎn)化率。這可能包括減少結(jié)算步驟、優(yōu)化移動(dòng)端體驗(yàn)、提供更多支付選項(xiàng)等。增強(qiáng)用戶(hù)參與度:在瀏覽產(chǎn)品階段增加用戶(hù)的參與和互動(dòng)(如通過(guò)推薦系統(tǒng)、限時(shí)優(yōu)惠等),可能有助于提高用戶(hù)從瀏覽到添加購(gòu)物車(chē)的轉(zhuǎn)化率。
python代碼
import plotly.graph_objects as go
?
# ?;鶊D的數(shù)據(jù)
labels = ["首頁(yè)訪(fǎng)問(wèn)", "瀏覽產(chǎn)品", "添加到購(gòu)物車(chē)", "進(jìn)行結(jié)算", "完成購(gòu)買(mǎi)"]
source = [0, 1, 2, 3]
target = [1, 2, 3, 4]
value = [5000, 2500, 1250, 600]
?
# 計(jì)算轉(zhuǎn)化率
conversion_rates = [f"{value[i]/value[i-1]*100:.2f}%" for i in range(1, len(value))]
conversion_rates.insert(0, "100%") # 假設(shè)第一個(gè)轉(zhuǎn)化率為100%
?
# 構(gòu)建標(biāo)題,包含轉(zhuǎn)化率信息
title_text = "網(wǎng)站用戶(hù)行為路徑分析<br><sup>轉(zhuǎn)化率: 首頁(yè)訪(fǎng)問(wèn)到瀏覽產(chǎn)品: {}, 瀏覽產(chǎn)品到添加到購(gòu)物車(chē): {}, " \
"添加到購(gòu)物車(chē)到進(jìn)行結(jié)算: {}, 進(jìn)行結(jié)算到完成購(gòu)買(mǎi): {}</sup>".format(*conversion_rates)
?
fig = go.Figure(data=[go.Sankey(
node=dict(
pad=15,
thickness=20,
line=dict(color="black", width=0.5),
label=labels,
),
link=dict(
source=source,
target=target,
value=value,
))])
?
fig.update_layout(title_text=title_text, font_size=10)
fig.show()
案例分析-全球智能手機(jī)供應(yīng)鏈與物流分析
場(chǎng)景
一個(gè)全球智能手機(jī)品牌想要分析其供應(yīng)鏈和物流網(wǎng)絡(luò),以便更好地理解從原材料采購(gòu)、組件制造、組裝,到最終產(chǎn)品分銷(xiāo)的整個(gè)流程。該品牌的供應(yīng)鏈涉及多個(gè)國(guó)家,包括原材料的采購(gòu)(如稀有金屬來(lái)自澳大利亞和剛果),組件的制造(如處理器來(lái)自臺(tái)灣,屏幕來(lái)自韓國(guó)),在中國(guó)組裝,最后產(chǎn)品銷(xiāo)售遍及全球。通過(guò)構(gòu)建一個(gè)桑基圖,公司希望能夠直觀地展示這一復(fù)雜網(wǎng)絡(luò)中的主要流動(dòng)路徑和量級(jí)。
數(shù)據(jù)
以下是簡(jiǎn)化的示例數(shù)據(jù):
-
原材料:澳大利亞(稀有金屬)、剛果(鈷)
-
組件制造:臺(tái)灣(處理器)、韓國(guó)(屏幕)
-
組裝:中國(guó)
-
銷(xiāo)售:美國(guó)、歐洲、印度、其他地區(qū)
假設(shè)的產(chǎn)品流量(單位:萬(wàn)臺(tái)):
-
澳大利亞到中國(guó):500
-
剛果到中國(guó):500
-
臺(tái)灣到中國(guó):1000
-
韓國(guó)到中國(guó):1000
-
中國(guó)到美國(guó):500
-
中國(guó)到歐洲:400
-
中國(guó)到印度:300
-
中國(guó)到其他地區(qū):300
數(shù)據(jù)可視化
分析結(jié)論
供應(yīng)鏈全球化:智能手機(jī)供應(yīng)鏈的全球化特征非常明顯,原材料和關(guān)鍵組件的供應(yīng)跨越多個(gè)國(guó)家和地區(qū),顯示了對(duì)全球資源的依賴(lài)和利用。
中國(guó)的制造中心角色:中國(guó)作為智能手機(jī)的主要組裝地,再次凸顯了其在全球制造業(yè)中的中心地位,利用其成熟的供應(yīng)鏈和物流體系。
主要市場(chǎng)分布:智能手機(jī)的主要銷(xiāo)售市場(chǎng)集中在美國(guó)、歐洲和印度,這些地區(qū)的銷(xiāo)售量占據(jù)了大部分,但也有相當(dāng)一部分分布在其他地區(qū),表明智能手機(jī)市場(chǎng)的廣泛性和多樣性。
優(yōu)化建議
多元化供應(yīng)鏈:鑒于供應(yīng)鏈的全球化和對(duì)特定地區(qū)的依賴(lài),企業(yè)應(yīng)考慮多元化其供應(yīng)鏈,以減少地緣政治風(fēng)險(xiǎn)、自然災(zāi)害或貿(mào)易政策變化帶來(lái)的影響。
提高供應(yīng)鏈的透明度和可追溯性:增加供應(yīng)鏈的透明度,確保原材料的可持續(xù)采購(gòu)和道德生產(chǎn),這不僅能提高品牌形象,還能減少潛在的供應(yīng)風(fēng)險(xiǎn)。
優(yōu)化物流和庫(kù)存管理:利用先進(jìn)的數(shù)據(jù)分析和預(yù)測(cè)模型,優(yōu)化庫(kù)存水平和物流效率,減少運(yùn)輸成本,提高響應(yīng)市場(chǎng)變化的能力。
增強(qiáng)本地市場(chǎng)的銷(xiāo)售策略:針對(duì)主要銷(xiāo)售市場(chǎng)以外的“其他地區(qū)”,探索更多本地化的銷(xiāo)售和營(yíng)銷(xiāo)策略,以挖掘新的增長(zhǎng)點(diǎn)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-854104.html
提升供應(yīng)鏈的靈活性和韌性:構(gòu)建一個(gè)更加靈活和韌性的供應(yīng)鏈體系,能夠快速適應(yīng)市場(chǎng)需求的變化,應(yīng)對(duì)突發(fā)事件,保證供應(yīng)鏈的連續(xù)性和效率。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-854104.html
python代碼
import plotly.graph_objects as go
?
# 定義桑基圖節(jié)點(diǎn)
labels = [
"澳大利亞", "剛果", "臺(tái)灣", "韓國(guó)",
"中國(guó)", "美國(guó)", "歐洲", "印度", "其他地區(qū)"
]
?
# 定義流的源和目的
source = [0, 1, 2, 3, 4, 4, 4, 4]
target = [4, 4, 4, 4, 5, 6, 7, 8]
value = [500, 500, 1000, 1000, 500, 400, 300, 300]
?
# 創(chuàng)建?;鶊D
fig = go.Figure(data=[go.Sankey(
node=dict(
pad=15,
thickness=20,
line=dict(color="black", width=0.5),
label=labels,
),
link=dict(
source=source,
target=target,
value=value,
))])
?
# 更新圖表的布局和標(biāo)題,包括主要數(shù)據(jù)
title_text = """
全球智能手機(jī)供應(yīng)鏈與物流分析<br>
<sup>原材料和組件: 澳大利亞(500萬(wàn)臺(tái)), 剛果(500萬(wàn)臺(tái)), 臺(tái)灣(1000萬(wàn)臺(tái)), 韓國(guó)(1000萬(wàn)臺(tái))<br>
組裝地點(diǎn): 中國(guó); 主要銷(xiāo)售市場(chǎng): 美國(guó)(500萬(wàn)臺(tái)), 歐洲(400萬(wàn)臺(tái)), 印度(300萬(wàn)臺(tái)), 其他地區(qū)(300萬(wàn)臺(tái))</sup>
"""
?
fig.update_layout(title_text=title_text, font_size=10)
fig.show()
到了這里,關(guān)于【python plotly庫(kù)介紹】從視覺(jué)到洞見(jiàn):?;鶊D在業(yè)務(wù)分析中的應(yīng)用【保姆級(jí)教程過(guò)于詳細(xì)珍藏版】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!