0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

用短視頻來動態(tài)展示圖表中數(shù)據(jù)的變化

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-09-25 11:03 ? 次閱讀

Matplotlib 和 Seaborn 用來做數(shù)據(jù)固定的靜態(tài)圖表很不錯,但如果需要動態(tài)顯示數(shù)據(jù)的變化過程用這倆庫就有點難度了。如果能用短視頻來動態(tài)展示圖表中數(shù)據(jù)的變化是不是就有點厲害了?而且不用學新的庫,就用Matplotlib 和 Seaborn,是不是更厲害了!今天就教大家一個很酷的教程,馬上動起來。

這里我們用到的數(shù)據(jù)是由美國疾控中心和藥物濫用研究所收集的。我最近用他們的數(shù)據(jù)給一個關于美國鴉片藥物濫用危機的紀錄片做了幾個動態(tài)圖所以這里就接著用了。下面是數(shù)據(jù)的下載鏈接:

下載地址:

https://www.drugabuse.gov/sites/default/files/overdose_data_1999-2015.xls

除了用Matplotlib和Seaborn來作圖我們還用到了Numpy和Pandas來處理數(shù)據(jù)。先把需要的庫都import進來:

接下來把數(shù)據(jù)從下載的Excel文件讀進來,我們用Pandas來讀所以讀進來就是一個DataFrame。這里我們還寫了一個傳入行數(shù)只讀取一行數(shù)據(jù)的函數(shù)。這是為了以后給不同藥物分別做圖的時候讀數(shù)據(jù)方便一些。

這些準備工作做好我們就可以開始作圖了。如果你用Jupyter Notebook的 話記得加圖表頁內(nèi)顯示的命令%matplotlib notebook。

我們先用剛才寫的get_data函數(shù)把因為***死亡的人數(shù)讀出來。這個DataFrame有兩列,分別是年份和死亡人數(shù)。

接下來我們初始化一個ffmpeg輸出流。這里我設置幀率20碼率1800 ,當然你自己可以改幀率和碼率。

下面我們需要創(chuàng)建圖表和橫縱坐標。這里要把數(shù)據(jù)范圍定死不然數(shù)據(jù)更新的時候 Matplotlib 會自動更新數(shù)據(jù)范圍我們的動圖數(shù)據(jù)范圍就會來回變。

繪圖中最重要的就是下面這個 animate 函數(shù),它的參數(shù) i 指的是幀數(shù)。我們通過參數(shù) i 來選擇這一幀應該顯示的數(shù)據(jù)然后用 Seaborn 來畫一個折線圖。最后兩行改改字體和折線的寬度讓圖好看一點。

要讓圖表動起來我們得把剛才定義的 animate 函數(shù)傳給 matplotlib.animation.FuncAnimation。除了animate,F(xiàn)uncAnimation還有一個參數(shù)frames,這個參數(shù)的意思是說我們這段動畫想一共要多少幀。這里 frames 的值是 17 幀,所以 animate 函數(shù)會被調(diào)用17次。

最后我們把這段動畫存成 mp4 格式就行了。如果想先看看效果,可以用plt.show()。

最后出來的效果是這樣的:

意思是有了但給人感覺數(shù)據(jù)的跳躍有點太快了,所以我們可能得給數(shù)據(jù)點中間插點值。插值可以用下面的 augment 函數(shù):

用 augment 函數(shù)處理完數(shù)據(jù)我們還要調(diào)整一下 FuncAnimation 函數(shù)中的幀數(shù)。這里我給 augment 傳入的 numsteps 是 10,也就是說 augment 后從99 年到 15 年的 16 個數(shù)據(jù)點變成了 160 個,所以幀數(shù)也要設成 160。調(diào)整完的圖看著順溜多了,不過在數(shù)據(jù)增減變化的地方還是能看到很硬的拐彎。

為了讓這些拐角也平滑一點我們參考了下面這個鏈接里的高斯平滑算法。這個鏈接里也介紹了其他的平滑算法。

https://www.swharden.com/wp/2008-11-17-linear-data-smoothing-in-python/

此外我們還可以給圖片加點背景色。

大功告成!其實不是大功,只是用 Matplotlib 制作動態(tài)圖表的一個很基本的例子。不過原理都是一樣的,在 animate 函數(shù)里繪圖然后調(diào)整調(diào)整合適的參數(shù)什么圖都能動起來。最后希望大家順利操作起來!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)

    關注

    8

    文章

    7030

    瀏覽量

    89038
  • 短視頻
    +關注

    關注

    1

    文章

    124

    瀏覽量

    8935

原文標題:使用Python生成動態(tài)圖表,一個很Cool的教程

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    短視頻】征集 急!急!令!?。?!

    `號外?。√柾猓。:4_124:}電子發(fā)燒友微視頻頻道即將上線了,為鼓勵大家積極上傳短視頻,在上線前和上線初期,我們將開展一個短視頻教程征集活動。一、活動主題:“短視頻征集” 急急令
    發(fā)表于 02-25 18:53

    CDN高級技術專家周哲:深度剖析短視頻分發(fā)過程的用戶體驗優(yōu)化技術點

    客戶端,并把數(shù)據(jù)緩存到CDN上。開發(fā)者使用這些技術組件,可以快速的開發(fā)短視頻業(yè)務。下面,我們逐一介紹解決方案的能力與特點。解決方案視頻SDK,包括
    發(fā)表于 04-03 14:32

    2018亞太CDN峰會開幕,阿里云王海華解讀云+端+AI的短視頻最佳實踐

    ,無需更多的開發(fā)成本。講到這里,程序員的話來說,其實整個短視頻的開發(fā)流程已經(jīng)能夠跑通了。短視頻運營階段那當短視頻的功能上線后,更多的是需要運營。在運營這個環(huán)節(jié)
    發(fā)表于 04-12 15:35

    短視頻源碼開發(fā),源碼快速搭建的關鍵點是什么

    ,我們就能解決短視頻APP開發(fā)過程中視頻審核推薦環(huán)節(jié)的問題了,當然也可以借助相關的視頻智能推薦sdk實現(xiàn)。二、視頻特效各種各樣的
    發(fā)表于 09-30 14:11

    一般圖表做不了的分析,BI數(shù)據(jù)可視化圖表可以

    隨著業(yè)務變化,分析場景細分,出現(xiàn)了越來越多的一般圖表做不了的分析,比如分析顧客滿意度,又比如分析展示運動軌跡、多項目進程等。面對這些分析需求,我們通常會采用數(shù)據(jù)可視化工具上的專用可視化
    發(fā)表于 01-15 10:22

    新手必看:數(shù)據(jù)可視化圖表的選擇技巧

    就必須使用哪類型圖表,通常會出現(xiàn)一份數(shù)據(jù)多類圖表都能用的情況。這種情況下,就該結合具體的應用場景與分析需求進行選擇。接下來就以幾個常見的分析需求為例,講講都可以
    發(fā)表于 09-29 09:35

    直播平臺斗魚封殺陳一發(fā),大量主播入駐短視頻平臺,短視頻系統(tǒng)開發(fā)市場火爆

    個性化視頻進行場景化商品展示,從而激發(fā)消費者的購買欲望。當前,淘寶、天貓、京東等多家電商平臺,都已推出了短視頻+。據(jù)淘寶官方數(shù)據(jù)顯示,頭圖視頻
    發(fā)表于 08-01 14:56 ?271次閱讀

    短視頻平臺源碼互聯(lián)網(wǎng)巨頭紛紛布局,”短視頻+”時代開始探索

    展示,從而激發(fā)消費者的購買欲望。當前,淘寶、天貓、京東等多家電商平臺,都已推出了短視頻+。據(jù)淘寶官方數(shù)據(jù)顯示,頭圖視頻自從上線以來,大部分店鋪的轉化率都提高30%以上。其次還有
    發(fā)表于 08-09 10:42 ?333次閱讀

    短視頻系統(tǒng)源碼更新內(nèi)容說明-國內(nèi)短視頻平臺優(yōu)秀作品

    1.全新短視頻推薦機制提供了一個公平公正的短視頻內(nèi)容推薦機制,綜合短視頻作者上傳的短視頻內(nèi)容的點贊數(shù)、評論數(shù)、轉發(fā)數(shù)三項重要指標,按照后臺設置的精確的計算公式,得出的權重值越大,
    發(fā)表于 08-13 15:02 ?819次閱讀

    短視頻系統(tǒng)平臺這么火,短視頻源碼開發(fā)前景怎么樣?

    就是抓住了年輕人的數(shù)據(jù),他們喜好什么,喜歡炫什么,都能給商家很好的提示,并且創(chuàng)造出網(wǎng)紅產(chǎn)品。制作短視頻的成本不高,我們團隊制作成本低,質量高,抖音有的功能我們都有,抖音沒有的我們在研發(fā),所以您確定不加入進來嗎?
    發(fā)表于 08-14 14:51 ?278次閱讀

    區(qū)塊鏈短視頻系統(tǒng)開發(fā)

    鏈技能刻畫全新的短視頻內(nèi)容生*態(tài),使用分布式架構,建立了開放式社區(qū),打造一個鼓勵型短視頻交際媒體,介紹下現(xiàn)在區(qū)塊鏈短視頻有的一些形式玩法。一、打賞挖礦其間分為免費打賞+付費打賞。在免費打賞過程
    發(fā)表于 08-27 16:57 ?375次閱讀

    小米推出“朕驚視頻”,進軍短視頻市場

    小米推出首款短視頻應用“朕驚視頻
    的頭像 發(fā)表于 03-29 08:45 ?2418次閱讀

    視頻眼-短視頻服務平臺

    視頻眼根據(jù)大數(shù)據(jù)分析和全網(wǎng)綜合資訊幫助用戶可以快速對短視頻進行制作,培訓,服務等一系列操作,挖掘短視頻的價值,獲取視頻收益。
    發(fā)表于 04-01 11:04 ?570次閱讀

    “蜥蜴腦”時代來臨 內(nèi)容爆炸式增長,如何在短視頻帶貨“秒”獲人心?

    內(nèi)容爆炸式增長,如何在短視頻帶貨“秒”獲人心?,短視頻,電商,短視頻營銷攻略,頻帶
    發(fā)表于 02-20 11:32 ?861次閱讀
    “蜥蜴腦”時代來臨 內(nèi)容爆炸式增長,如何在<b class='flag-5'>短視頻</b>帶貨<b class='flag-5'>中</b>“秒”獲人心?

    短視頻制作結合元宇宙虛擬人能夠帶來哪些變化

    隨著科學技術的不斷發(fā)展,元宇宙虛擬人呈現(xiàn)飛躍式發(fā)展,各式各樣的虛擬人進入到我們的視野,而同樣作為新風口的短視頻行業(yè),也成為了人們?nèi)粘I?b class='flag-5'>中不可或缺的一部分。那么,將這兩者結合起來會帶來哪些變化
    的頭像 發(fā)表于 06-02 15:25 ?875次閱讀