<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          干貨 | Python爬蟲實戰(zhàn)(中):數(shù)據(jù)可視化-教你做出漂亮的圖表

          共 3338字,需瀏覽 7分鐘

           ·

          2020-03-01 23:21

          文案代碼 向柯瑋
          審核校對 鄧發(fā)珩

          前言

          各位看客老爺們,我又來啦。上一期我們利用Python+百度地圖POI抓取了一些高校之間的距離數(shù)據(jù),傳送門:

          干貨 | Python爬蟲實戰(zhàn):兩點間的真實行車時間與路況分析(上)

          不知道上一期的爬取數(shù)據(jù)的內(nèi)容大家都品嘗的怎么樣了呢。

          78a35d7b52eea07e4fb76fb036780a85.webp

          今天給大家?guī)淼氖莗ython中對數(shù)據(jù)進行可視化處理的內(nèi)容。

          可能大家并不是很懂這個可視化的意思,大家可以先在腦海里面腦補一下那種酷炫的數(shù)據(jù)分析圖,腦補出來了嗎?

          嘿嘿,用Python究竟能做一些什么樣的圖表呢,可以肯定的告訴大家,只有你想不到,沒有它做不到!吊了半天胃口,現(xiàn)在上圖!

          eb013921e76a24d1e92e74923ae7bc0e.webp直角坐標系動態(tài)散點圖b66de3692274cfebb4044d825a8dcedd.webp直角坐標系柱狀圖76e786a731cc9f772cb980cfacfa1b11.webp3D柱狀圖3fba9a4afc9bc0d6bee358f869826719.webp地圖

          對,我們要做的圖就是和上面這幾張圖片一樣!酷吧?

          2a676e1254e6b6e5d0f91a6d136f5b25.webp

          上面的效果圖都是我們今天要介紹的主角pyecharts庫制作的!當然,pyecharts的作圖類型肯定不僅僅只有上述這些圖形,它還有很多很多類型,在這里我就不多說了。

          在這一期推文中呢,我們主要介紹的是第一種圖形,柱狀圖的使用。

          目錄


          • pyecharts模塊的下載

          • 模型的建立

            • 數(shù)據(jù)的導(dǎo)入

            • 圖形的生成

            • 加點更炫的

          • 寫在最后

          pyecharts模塊的下載

          要使用這個模塊,你必須要下載這個模塊,打開自己電腦的cmd,輸入pip install pyecharts就可以了,如果本來就有這個模塊的話,就不用下載了。

          當然,如果電腦沒有pip這個模塊的話,需要自己去下載一個這個模塊,在后續(xù)的推文中,小瑋會給大家?guī)硪恍﹑ython的基本配置應(yīng)該做的相關(guān)推文,幫助大家解決python的安裝問題。

          533f9abacbad807667b7300928963905.webp

          在安裝這個模塊之后,我們就可以在編譯器中引用這個模塊了。

          from pyecharts.charts import Bar

          這里的Bar柱狀圖的意思。

          pyecharts的庫里面有很多很多東西,我們沒有必要全部引用,那樣會讓本來簡單的程序運行起來忒慢。

          模型的建立

          引入了這個模塊當然還不夠,我們還需要數(shù)據(jù)。

          數(shù)據(jù)的導(dǎo)入

          大家還記得我們上一篇推文中生成的csv文件嗎?如果已經(jīng)忘了,請回去再看看上一篇推文,然后運行程序把相應(yīng)的csv文件生成出來。

          d91837fd1c637e397e0e0b0e0ca2a193.webp

          那么,我現(xiàn)在就認為大家已經(jīng)有這個csv文件了。在一個程序中,我們想要獲得一個文件的數(shù)據(jù),需要做什么?想一想。

          沒錯,就是讀取這個文件。那么大家還記得讀取這個文件怎么辦嗎?沒錯,就是加入pandas模塊,運用pandas的函數(shù)來進行文件的讀取。

          import pandas as pd

          具體怎么讀取呢?和之前的也是一模一樣。

          path_data=pd.read_csv(r'F:\my python\123.csv')

          這些在上一篇推文中都已經(jīng)很詳細的介紹過了,這一次就不多說了。要是忘了記得回去看看奧-

          05324b087b25ab2cb4b14920bbb71085.webp

          圖形的生成

          做好了這些之后,我們正式的來介紹一下建立柱狀圖這個函數(shù)。

          第一步,定義一個變量是bar型變量。

          bar=Bar()

          這一句代碼的意思就是使barBar型變量。接下里就是為這個變量賦x軸值和y軸值。

          bar.add_xaxis(path_data['地點'].tolist())
          bar.add_yaxis('用時',path_data['time'].tolist())
          bar.add_yaxis('距離',path_data['distance'].tolist())

          讓我們一句一句研究代碼。第一句,函數(shù)為add_xaxis(),就是添加x軸數(shù)據(jù),給x軸添加什么數(shù)據(jù)呢?Path_data中的‘出發(fā)時間’這一列數(shù)據(jù)。

          在這個位置我們要注意,劃重點,一定要注意,在后面加上.tolist()。

          因為path_data是最開始讀取csv文件的,里面的數(shù)據(jù)儲存形式和csv形式保持一致,所以我們要把她轉(zhuǎn)化為python中列表的形式,即使用.tolist這個函數(shù),否則的話在這個位置添加x軸值是不起任何作用的。

          0d97363d0301f99c0fef7ce0fc627e1c.webp現(xiàn)在有了第一句的基礎(chǔ),理解第二句就不困難了,但是x軸和y軸的賦值形式任然有一些差別,這是為什么呢?

          其實這是給我們賦的y值起一個名字,當然這個位置不起名字也可以,但是如果如果你有多個y值的時候就會產(chǎn)生意思分歧。

          這是啥意思?看下面的圖就知道了。

          83d1d23aef3b6770f876fe91510c044d.webp

          Pyecharts是支持使用多個y值的。

          比如這個圖里面,我們就使用了商家A商家B兩個y值名稱,為了便于分辨,所以我的建議是取一個名字。

          在最后,x值賦好了,y值賦好了,輸入代碼。

          bar.render()

          即可在當前python文件所在的目錄下面看到一個html文件,點進去就可以看到我們所制作的圖表了。

          5e54a7006f9d958ab8dcc61bbd864708.webp

          當然括號里面還可以填生成文件的名字和生成的地址,這些都是可以修改的。

          因為當前我們只需要生成這一個文件,當前目錄下也沒有別的render文件,所以我們就省略了這個步驟。

          現(xiàn)在回到我們當前的文件,打開新生成的文件,就可以看到我們剛剛做的圖表啦。

          c5dd265c85f8cce1c0ed85b6999a6b9c.webp剛剛生成的圖

          但是,大家看到自己的圖表是不是感覺有一點空蕩蕩的,不夠酷炫?

          不要著急,繼續(xù)往下面看,我們還有進階教程~

          加點更炫的

          想要使用更加酷炫的功能,我們需要再加入兩個模塊。

          from pyecharts import options as opts  # 導(dǎo)入配置模塊
          from pyecharts.globals import ThemeType

          這兩個模塊是pyecharts專門提供給使用者對圖表進行進一步完善。

          c53429a40aa9e1c273a227583efea7f5.webp

          比如說,你對這個圖表的整體顏色有要求,不想是原來的白色,你可以在最開始建立bar的時候這樣寫。

          bar=Bar(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION,width='1280px',height='720px'))

          Init_opts=opts.InitOpts()函數(shù)是給這個圖表設(shè)置一些初始參數(shù),比如說背景的顏色,分辨率等等的。

          想設(shè)置主題色就用以下代碼。

          theme=themeType.xxxx

          這個xxx就是主題的顏色,我在這里寫的是紫色,當然還有其他的顏色,看客老爺可以自己去官網(wǎng)進行了解。后面分辨率的參數(shù)看客老爺可以根據(jù)自己需要進行調(diào)整。

          這些是在建立圖表的時候進行的一些配置,那么在輸入數(shù)據(jù)以后,我們可以進行哪些步驟?

          bar.set_global_opts(title_opts=opts.TitleOpts(title='武漢各高校之間的距離與乘車所需時間',subtitle='副標題'
          ),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=60)),datazoom_opts=[opts.DataZoomOpts()])

          我們可以使用set_global_opts函數(shù)進行我們所需要的個性化設(shè)置。

          比如說主標題啊,副標題啊,x值的旋轉(zhuǎn)角度啊,是否有滑塊,等等配置。那實例給大家舉一下例子看看這些具體指的什么。

          fac32c7f1bcbfea6ade2b94a303a6c64.webp主副標題

          在這個圖表中左上角的就是我的主標題,下面的就是我的副標題。

          26fd9df1ec3174cc04849f9947b2a140.webpx值的旋轉(zhuǎn)角度

          X值傾斜的角度我們在這個圖片里也可以很清晰的看出來,當前旋轉(zhuǎn)的角度是60度,這個角度的旋轉(zhuǎn)范圍是-90°到90°。

          c54d93cc16b1ff086255eb279e120ad4.webp滑塊功能

          滑塊就在最下面,那個可以滑動的東西。

          因為有的時候可能數(shù)據(jù)太多,放在一個頁面里看起來太擁擠,這是我們可以用滑塊這個功能,使得我們的圖形更加分散,便于觀察。

          6d2a2b4dfaa801c8bdc5824c3ac46a05.webp最終的效果

          寫在最后

          當然,關(guān)于pyecharts的使用實例還有很多很多,各位看客老爺如果有興趣可以自己去pyecharts的官網(wǎng)進行學(xué)習(xí),這個項目是百度研發(fā)的,官網(wǎng)是中文的,還有十分詳細的教程免費提供,所以小瑋在這里就不多說了。

          4df83ef89f907b3f2421ab9ab34986ef.webp

          在這個位置,我們已經(jīng)完成了數(shù)據(jù)的爬取和做成圖表。

          當然,這和老師吩咐的任務(wù)完成還有一定的距離,我們沒有統(tǒng)計時間,因為最近由于肺炎,道路沒有發(fā)生擁堵,統(tǒng)計時間發(fā)現(xiàn)并沒有明顯的變化,最終結(jié)果趨于一根平行x軸的直線。

          所以就不在這里講解時間的統(tǒng)計和回歸分析的步驟了。等一切恢復(fù)正常了以后,會專門再寫一篇推文介紹。

          最近的肺炎如此嚴重,各位看客老爺們一定要注意防護!

          跟著小瑋,帶你一步一步走進數(shù)據(jù)結(jié)構(gòu)和爬蟲的世界。

          代碼可以在后臺回復(fù) PC02 獲取416c488d29bd7323872785eae6bded4c.webp


          瀏覽 45
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色五月婷婷五月 | 国产午夜黄色视频 | 強姦婬片A片AAA毛片Mⅴ | 大屌一区| 国产乱伦中文字幕 |