您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)如何用Python做一個編程語言20年的動態(tài)排行榜,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
在編程語言的舞臺上,一直有著誰是最好的語言的競爭,小編雖然一直用著幾種編程語言,但是感覺個人的想法不能代表著大家的想法。雖然關(guān)于最好語言的爭論從未停止過,但是關(guān)于編程語言的熱度排名,我們可以從TIOBE 編程語言排行榜上進(jìn)行探索。
今天,小編就帶領(lǐng)大家爬取一下,自2001年5月至今,TIOBE 編程語言排行榜上編程語言的變化情況,看一下在接近20年的時間里,編程語言的熱度是如何變化的。
01.編程語言資料獲取
首先我們是進(jìn)行的是資料的獲取,我們打開鏈接https://www.tiobe.com/tiobe-index/,就可以看到TIOBE編程語言的排行榜,通過查看其網(wǎng)頁源代碼,可以發(fā)現(xiàn),我們想要爬取的資料,都顯示在網(wǎng)頁源代碼里,如下圖所示:
接下來就可以直接利用爬蟲來獲取網(wǎng)頁源代碼,并利用正則表達(dá)式來匹配我們需要的關(guān)鍵字內(nèi)容,部分程序如下圖所示:
上述程序中,我們對于抓取到的數(shù)據(jù),進(jìn)行正則表達(dá)式匹配,然后提取各個編程語言在不同時間段的熱度數(shù)值,并保存到本地的文件中。
02.清洗數(shù)據(jù)
接下來,我們要完成的就是利用動態(tài)可視化的柱狀圖來觀察各種編程語言隨著時間的熱度變化。我們先對數(shù)據(jù)進(jìn)行清洗,獲取編程語言的名字一起設(shè)置一個嵌套的字典,程序如下圖所示:
上述程序中的嵌套字典含義為每一個月份下的每種編程語言的熱度值,其結(jié)構(gòu)格式如下所示:
{“2020-1-12”:{“Java”:16, “C++”:14, “python”:10,…}, “2020-2-13”:{“Java”:16.3, “C++”:15.6, …},…}。
03.設(shè)置柱狀圖的顏色
為了在可視化過程中區(qū)分每一種編程語言,需要為柱狀圖中的每一柱都設(shè)置不同的顏色,同時,將嵌套字典按照月份的順序進(jìn)行排序,程序如下所示:
04.大功告成,動態(tài)顯示
最后,我們便可以對數(shù)據(jù)進(jìn)行可視化的展示,程序如下圖所示:
上述程序中,首先需要清除figure 中的活動軸,我們對于嵌套字典的每一個月份,將每一個月份中的編程語言,按照其熱度值進(jìn)行從小到大的排序,然后將排序號的編程語言,關(guān)聯(lián)其對應(yīng)的柱狀圖顏色。
05.動態(tài)現(xiàn)實圖
接下來就可以畫出我們的柱狀圖,然后暫停顯示結(jié)果,并不斷循環(huán),從而達(dá)到動態(tài)柱狀圖的功能,其效果如下圖所示:
06.更炫酷的動態(tài)圖
如果大家覺得圖做的不夠優(yōu)美,大家可以利用js進(jìn)行數(shù)據(jù)渲染制作,這里小編也為大家利用Flourish制作了一個更加好看的界面,如下圖所示:
從上面的可視化動圖可以看出,Java和C語言一直是牢牢地掌控著編程語言熱度前兩名的寶座,而python語言,憑借著人工智能的熱潮,逐漸的從排名末尾,一路追趕,排名在第三位,并逐漸拉開了與第四名的差距,可謂是編程語言界的逆襲王者。
而像是C++和PHP,其熱度卻逐漸的走低。雖然編程語言熱度有高有低,但是不可否認(rèn)的是,每一門編程語言,都有其應(yīng)用的價值,能夠在編程語言的歷史長河中歷經(jīng)洗禮,而沒有被淘汰,只要好好掌握一門語言,都會有用武之地。
以上就是如何用Python做一個編程語言20年的動態(tài)排行榜,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。