原來用pyecharts畫個時間線圖這麼簡單

導讀

可視化對於數據分析師的工作重要性不言而喻。在Python衆多可視化庫中,matplotlib+seaborn+pyecharts是個人常用的組合。今天,就簡單分享一個用pyecharts製作時間線圖的例子,實現非常簡單,效果卻很強大。


文章來源:小數志

作者:luanhz

pyecharts是python對百度開源echarts框架的一個封裝,接口豐富、設置多樣、圖表可交互。需要指出的是,pyecharts從0.5版本升級到1.0版本後,接口調用形式發生很大變化,一度令人感到陌生,但實際上只是傳參方式有些不同而已。

在pyecharts繪製基本圖表的基礎上,當爲了體現指標隨時間的變化趨勢時,時間線圖表是一個理想的選擇。而繪製時間線圖實際上非常簡單,僅需三步即可:

  • 生成時間線對象

  • 創建基本圖表對象

  • 將基本圖表對象加入到時間線

某種意義上講,時間線可理解爲基本圖表的一個容器,且其接口風格與基本圖表很是相近。

舉個例子感受下:

 1from pyecharts.charts import Pie, Timeline
 2from pyecharts import options as opts
 3
 4datas = {
 5    220:[('魏', 50), ('蜀', 15), ('吳', 35)],
 6    230:[('魏', 60), ('蜀', 20), ('吳', 20)],
 7    240:[('魏', 40), ('蜀', 30), ('吳', 30)],
 8    250:[('魏', 35), ('蜀', 40), ('吳', 25)],
 9    260:[('魏', 50), ('蜀', 20), ('吳', 30)],
10    270:[('魏', 60), ('蜀', 15), ('吳', 25)],
11    280:[('魏', 80), ('蜀', 10), ('吳', 10)]
12}
13
14# 1.創建時間線對象
15tl = Timeline()
16for year, data in datas.items():
17    # 2.創建單個子圖對象
18    pie = Pie().add(year, data)
19    # 3.將子圖對象添加到時間線
20    tl.add(pie, year)
21
22tl.render('三國勢力歷年變化.html')

三國勢力歷年變化趨勢(數據純屬虛構)

雖然叫"時間線",但"時間軸"可以是任何系列數據,繪製方法還是一樣的套路:

 1from pyecharts.charts import Timeline, Radar
 2from pyecharts import options as opts
 3
 4datas = {
 5    '關羽' : [[5, 4.8, 4.4, 4.7, 4.9]],
 6    '張飛' : [[5, 4.6, 4.7, 4.6, 4.8]],
 7    '趙雲' : [[5, 4.8, 4.7, 4.9, 4.7]],
 8    '馬超' : [[4.3, 4.5, 4.6, 4.7, 4.7]],
 9    '黃忠' : [[4.5, 4.5, 4.5, 4.6, 4.7]]
10}
11tl = Timeline()
12schema = [opts.RadarIndicatorItem(name=name, max_=5) for name in ('忠', '義', '禮', '智', '信')]
13for hero, data in datas.items():
14    radar = Radar().add_schema(schema=schema).add(hero, data)
15    tl.add(radar, hero)
16tl.render('五虎上將能力對比.html')

蜀國五虎上將能力對比(數據純屬虛構)


如此操作簡單而又頗具實效的時間線圖,叫人怎能不爲之拍手稱快?

 

近期推薦閱讀:
【1】整理了我開始分享學習筆記到現在超過250篇優質文章,涵蓋數據分析、爬蟲、機器學習等方面,別再說不知道該從哪開始,實戰哪裏找了【2】【終篇】Pandas中文官方文檔:基礎用法6(含1-5)
如果你覺得文章不錯的話,分享、收藏、在看、留言666是對老表的最大支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章