導讀
可視化對於數據分析師的工作重要性不言而喻。在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是對老表的最大支持。