Pyecharts制作桑基圖

由于需要梳理訂單的狀態(tài)變化捍岳,通過查找網(wǎng)上相關(guān)資料富寿,了解到可以用桑基圖的形式呈現(xiàn)锣夹,同時也了解了下用pyecharts實現(xiàn)的代碼編制方法页徐,特編寫此文稿作為總結(jié)。(PS:圖片中的數(shù)據(jù)不代表真實業(yè)務(wù)數(shù)據(jù)银萍。)

1.在起初操作時变勇,發(fā)現(xiàn)自己import sankey報錯,后發(fā)現(xiàn)是源于自己pyecharts的版本不對贴唇,目前自己的版本是0.5.11搀绣,如果有遇到同樣錯誤的小伙伴,可以注意檢查下自己的pyecharts版本是否正確戳气。


pyecharts版本

2.由于Pyecharts不顯示values值链患,但做PPT的時候就要截圖,所以就在標(biāo)簽后面帶上相應(yīng)的數(shù)值瓶您,便于截圖直觀展示麻捻。

3.關(guān)于轉(zhuǎn)態(tài)之間轉(zhuǎn)換連接線的顏色,可以設(shè)置為連接的源頭或去向分支的顏色呀袱,但從美觀上考慮贸毕,建議將其設(shè)置為統(tǒng)一的淺色調(diào)。

4.python的logging模塊夜赵,可用于輸出運(yùn)行日志明棍,可以設(shè)置輸出日志的等級、日志保存路徑油吭、日志文件回滾等击蹲,關(guān)于該模塊的使用介紹,詳見鏈接:(https://www.cnblogs.com/liujiacai/p/7804848.html)
在python的頭部加入如下代碼婉宰,可查看運(yùn)行日志:

import logging
import logging.config

logging.basicConfig(
    format='%(name)s:%(lineno)d - %(levelname)s - %(message)s',
    level=logging.DEBUG)

繪制筛璨颍基圖的整體代碼如下:

from pyecharts import Sankey
nodes = [
    {'name': '創(chuàng)建訂單-1828'}, {'name': '未支付-935'}, {'name': '已支付-893'},
    {'name': '未發(fā)貨-114'}, {'name': '已發(fā)貨-779'}, {'name': '未收貨-111'},
    {'name': '已收貨-669'}, {'name': '未刪除-813'}, {'name': '已刪除-122'},
    {'name': '已退款-51'}, {'name': '未退款-65'}, {'name': '待收貨-109'}, {'name': '訂單完成-601'},
]#此處羅列各分支名稱,后面的數(shù)字代表具體的量值(注:因為pyecharts無法直接顯示value心包,所以需要這樣標(biāo)注)类咧。
links = [
    {'source': '創(chuàng)建訂單-1828', 'target': '未支付-935', 'value': 935},
    {'source': '創(chuàng)建訂單-1828', 'target': '已支付-893', 'value': 893},
    {'source': '未支付-935', 'target': '未刪除-813', 'value': 813},
    {'source': '未支付-935', 'target': '已刪除-122', 'value': 122},
    {'source': '已支付-893', 'target': '未發(fā)貨-114', 'value': 114},
    {'source': '已支付-893', 'target': '已發(fā)貨-779', 'value': 779},
    {'source': '未發(fā)貨-114', 'target': '已退款-51', 'value': 49},
    {'source': '未發(fā)貨-114', 'target': '未退款-65', 'value': 65},
    {'source': '已發(fā)貨-779', 'target': '未收貨-111', 'value': 111},
    {'source': '已發(fā)貨-779', 'target': '已收貨-669', 'value': 668},
    {'source': '未收貨-111', 'target': '待收貨-109', 'value': 109},
    {'source': '未收貨-111', 'target': '已退款-51', 'value': 2},
    {'source': '已收貨-669', 'target': '訂單完成-601', 'value': 601},
]#此處羅列各分支之間的關(guān)聯(lián)關(guān)系,source表示節(jié)點(diǎn)蟹腾,target表示終點(diǎn)痕惋,value表示狀態(tài)轉(zhuǎn)化的量值。

snakey = Sankey(
        title="訂單狀態(tài)轉(zhuǎn)化圖",#主標(biāo)題名稱
        title_pos='center',#主標(biāo)題距離左側(cè)距離娃殖,有’auto’, ‘left’, ‘right’, 'center’可選值戳,也可為百分比或整數(shù)
        title_top='top',#主標(biāo)題距離頂部距離,有’top’, ‘middle’, 'bottom’可選炉爆,也可為百分比或整數(shù)
        title_color='#595959',#主標(biāo)題文本顏色堕虹,顏色的取值直接輸入英文單詞也可支持;十六進(jìn)制大小寫均可芬首。
        title_text_size=30,#主標(biāo)題文本字體大小
        width=1800,#設(shè)置圖的寬度
        height=600#設(shè)置圖的高度
)
snakey.add(
    "",#按鈕赴捞,用來控制是否顯示圖標(biāo)。若不顯示郁稍,可以設(shè)置為‘空格’赦政,不能缺省。
    nodes,#輸入節(jié)點(diǎn)
    links,#輸入關(guān)系
    line_opacity=0.2,#曲線色彩深度
    line_curve=0.6,#曲線弧度
    line_width=15,#曲線寬度
    line_color="gray",#設(shè)置轉(zhuǎn)態(tài)轉(zhuǎn)化之間連接線的顏色耀怜,可以填寫顏色恢着,也可以設(shè)置為target或source
    is_label_show=True,#是否顯示標(biāo)簽
    sankey_node_width=30,#各節(jié)點(diǎn)的寬度
    sankey_node_gap=8,#同列上下節(jié)點(diǎn)之間的距離
    label_text_size=20,#設(shè)置標(biāo)簽字體大小
    label_pos="right",#標(biāo)簽位置,可以設(shè)置靠左或者靠右
)
snakey.render()
生成的示例圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末财破,一起剝皮案震驚了整個濱河市然评,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狈究,老刑警劉巖碗淌,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異抖锥,居然都是意外死亡亿眠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門磅废,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纳像,“玉大人,你說我怎么就攤上這事拯勉【怪海” “怎么了憔购?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長岔帽。 經(jīng)常有香客問我玫鸟,道長,這世上最難降的妖魔是什么犀勒? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任屎飘,我火速辦了婚禮,結(jié)果婚禮上贾费,老公的妹妹穿的比我還像新娘钦购。我一直安慰自己,他們只是感情好褂萧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布押桃。 她就那樣靜靜地躺著,像睡著了一般导犹。 火紅的嫁衣襯著肌膚如雪怨规。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天锡足,我揣著相機(jī)與錄音波丰,去河邊找鬼。 笑死舶得,一個胖子當(dāng)著我的面吹牛掰烟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播沐批,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼纫骑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了九孩?” 一聲冷哼從身側(cè)響起先馆,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎躺彬,沒想到半個月后煤墙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宪拥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年仿野,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片她君。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡脚作,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情球涛,我是刑警寧澤劣针,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站亿扁,受9級特大地震影響捺典,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜魏烫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一辣苏、第九天 我趴在偏房一處隱蔽的房頂上張望肝箱。 院中可真熱鬧哄褒,春花似錦、人聲如沸煌张。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽骏融。三九已至链嘀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間档玻,已是汗流浹背怀泊。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留误趴,地道東北人霹琼。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像凉当,于是被迫代替她去往敵國和親枣申。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容