技术解析:如何用pyecharts绘制时间轮播图
在前天的文章『用python制作動態圖表看全球疫情變化趨勢』中,由于篇幅原因,在數據處理與數據可視化相關內容上我們只是簡單帶過,那么我將以python小小白的角度去還原如何處理數據與數據可視化。本文為第二篇:pyecharts繪制時間輪播圖。
時間線輪播多圖
我們依舊以python小小白的角度去解析如何用pyecharts去制作時間線輪播多圖。其實在之前我也并沒有使用過這個功能,僅有一點的類似經驗是之前項目在Echarts中實現過類似功能,所以第一步也是打開pyecharts官方文檔。找到這部分的說明
那么官方給了那么一大堆文字說明,誰看都頭疼,所以我們先運行一個demo看看
from?pyecharts.faker import?Faker from?pyecharts import?options as?opts from?pyecharts.charts import?Bar, Page, Pie, Timelinedef?timeline_bar()?-> Timeline:x = Faker.choose()tl = Timeline()for?i in?range(2015, 2020):bar = (Bar().add_xaxis(x).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values()).set_global_opts(title_opts=opts.TitleOpts("某商店{}年營業額".format(i))))tl.add(bar, "{}年".format(i))return?tl那么其實我們需要制作的不管是面積圖還是地圖本質上和這個demo都是一樣的,所以只要把這個demo研究透了即可。那么接下來帶你看這個demo。
首先我們發現中間的柱狀圖其實和之前文章講解的繪制方法完全一致
唯一不一樣的是上面多了一些代碼
tl?= Timeline()這樣一句代碼,所以我們回去check文檔就能發現之所以能夠輪播就是這句代碼在生效,所以我們就大致搞明白了timeline的套路??
那么接下來就有一個問題,數據怎么提供的,我們執行一下Faker.values()
當你執行完畢之后會發現,每次執行都會輸出一個list,里面存了每一張圖片的數據,所以我們也需要寫一個函數,把所有的數據存儲到一個list里面,然后每調用一次這個函數就會返回一次的數據,
def hs(c,k):return?c[k] c?= [] for?i in range(len(date)):a1 = data.loc[i:i].values.tolist()a1 = a1[0]a1.pop(0)c.append(a1)這樣就將dataframe里的每一組數據保存為list然后再將這一堆list存到另一個list里面,每執行一次就返回list里面的一組數據,那么怎樣控制第一次執行返回第一組數據第二次執行返回第二組數據呢?看到函數除了接收數據參數之外,還接受一個參數k,我們就使用這個k來控制順序輸出每組數據。
這樣就能做出隨著時間變化的餅圖了,而其他圖的制作方法也是完全一致
來和小伙伴們一起向上生長呀!
掃描下方二維碼,添加小詹微信,可領取千元大禮包并申請加入 Python 學習交流群,群內僅供學術交流,日常互動,如果是想發推文、廣告、砍價小程序的敬請繞道!一定記得備注「交流學習」,我會盡快通過好友申請哦!
????長按識別,添加微信
(添加人數較多,請耐心等待)
????長按識別,關注小詹
(掃碼回復 1024 領取程序員大禮包)
總結
以上是生活随笔為你收集整理的技术解析:如何用pyecharts绘制时间轮播图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5年程序员生涯,使用的最频繁的Git 命
- 下一篇: 腾讯和阿里在B站“打起来了”,你何时见过