日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

十分钟用 Python 绘制了近十年编程语言趋势图

發布時間:2024/9/15 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十分钟用 Python 绘制了近十年编程语言趋势图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先來個視頻體驗一下效果,文末還有視頻教程

1. 分析

我們需要獲取數據,所以第一步需要從tiobe抓取近幾年的top編程語言的占比情況,其次存入 csv,最后使用 Python 繪制成表格。

2. 安裝包

python3?-m?pip?install?plotly python3?-m?pip?install?pandas

3. 網頁分析

我們進入 https://www.tiobe.com/tiobe-index/ 網站發現他下面有一個趨勢圖果不其然,我們右鍵點擊查看源文件就能看到他的數據

那么我們就可以使用 request 盤他了,下面是抓取和解析的代碼,可以配合 https://regex101.com/ 工具調試正則表達式。

import?requests import?re import?os import?csv url?=?'https://www.tiobe.com/tiobe-index/' headers?=?{'user-agent':?'Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10_14_2)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/81.0.4044.113?Safari/537.36' } f?=?open('programming.csv',?'w',?newline='') writer?=?csv.DictWriter(f,?['Programming','Percent','Date']) writer.writeheader() response?=?requests.get(url,?headers=headers) html?=?response.text result?=?''.join(re.findall(r'series:?(.*?)\}\);',?html,?re.DOTALL)) result?=?re.findall(r'({.*?})',?result,?re.DOTALL) for?item?in?result:name?=?''.join(re.findall(r"{name?:?'(.*?)'",?item,?re.DOTALL))data?=?re.findall(r"\[Date.UTC(.*?)\]",?item,?re.DOTALL)for?i?in?data:i?=?i.replace('?',?'')i?=?re.sub(r'[()]',?'',?i)value?=?i.split(',')[-1]time_list?=?i.split(',')[:3]time?=?""for?index,?j?in?enumerate(time_list):if?index?!=0:if?len(j)?==?1:j?=?'0'?+?jif?index?==?0:time?+=?jelse:time?+=?'-'?+?jtemp?=?{'Programming':?name,'Percent':?value,'Date':?time}writer.writerow(temp) f.close()

運行完成以后你就會發現程序目錄多了一個文件 programming.csv這樣我們的數據就準備好了

4. 繪圖

繪圖之前還是需要把文件讀取到 Python 程序,這里使用了 pandas 也是非常簡單,讀取 csv 成功以后,使用?plotly 的 bar 方法來繪圖,直接上代碼。

import?plotly.express?as?px import?pandas?as?pd df?=?pd.read_csv('programming.csv') fig?=?px.bar(df,y="Programming",x="Percent",animation_frame="Date",range_x=[0,?df.Percent.max()],orientation='h',text='Percent',color="Programming") fig.update_layout(width=500,height=400,xaxis_showgrid=False,yaxis_showgrid=False,showlegend=False) fig.update_xaxes(title_text=?"十年編程語言趨勢圖(微信訂閱號:小猿學Python)") fig.show()

等待1分鐘左右,他會自己創建好圖自動打開瀏覽器進入演示,所以你學會了嗎?

如果你想看這個教程的視頻版,歡迎點擊閱讀原文查看。

? ???精 彩 文 章?

  • 整理一份程序員常用的各類工具、技術站點

  • 如何設計 API 接口,實現統一格式返回?

  • 推薦 5 款好用的開源 Docker 工具

END 來和小伙伴們一起向上生長呀~~~ 掃描下方二維碼,添加小詹微信,可領取千元大禮包并申請加入 Python學習交流群,群內僅供學術交流,日常互動,如果是想發推文、廣告、砍價小程序的敬請繞道!一定記得備注「交流學習」,我會盡快通過好友申請哦!(添加人數較多,請耐心等待)(掃碼回復 1024? 即可領取IT資料包)

總結

以上是生活随笔為你收集整理的十分钟用 Python 绘制了近十年编程语言趋势图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。