FacebookTwitterLineHatena

2月22日,厄瓜多爾發生7.5級地震;4月18日,臺灣花蓮發生6.7級地震;6月17日,宜賓長寧發生6.0級地震;6月24日,雲南楚雄發生4.7級地震,印尼班達海發生7.6級地震。一時間,謠言四起:有說不久將會有大地震發生的,有說是因為太陽黑子11年輪回一次的。拋開這些謠言,很多人也會有疑問:為什麼最近地震那麼頻繁?是不是最近一兩年地殼越來越不穩定了?

最近地震真的比以往頻繁嗎?引發地震的因素有哪些?全世界地震頻發的地區在哪裡?鋪面而來的都是更多的猜想。

為了解答這些疑問,我們獲取了美國地質勘探局(USGS)1999年7月以來全球發生的所有1-10級地震資料共1283789條,通過全球128萬條地震資料視覺化分析,一起來打開這些迷霧吧。但由於篇幅過長,軟妹打算分為上下兩個part:

上篇將教大家怎麼用Python爬資料,用FineReport做一張全球地震熱力圖,簡單的進行分析下目前的地震分佈情況;
下篇再帶大家深扒地震是否變頻繁及其他造成原因等。

用Python爬資料

1.使用工具

Anaconda(以及其自帶的Jupyter notebook)

2.引入相關python庫包

首先新增python工程,引入本次爬取網頁資料和寫入資料庫所需要的requests、bs4、Pandas這三個包:

requests:–發送網路請求,獲取URL

bs4:–使得抓取網頁非常方便,不必用太多的規則運算式

Pandas–Python資料分析利器,這裡主要用來將資料到處到excel

如果Anaconda沒有這些包,直接在Anaconda Prompt 安裝,比如 conda 或者pip install requests。

3.爬取資料

我們選擇爬取的資料:
http://ditu.92cha.com/dizhen.php?page=1&dizhen_ly=usa&dizhen_zjs=1&dizhen_zje=10&dizhen_riqis=1999-07-11&dizhen_riqie=2019-07-11

因为多分頁:

我們可以用format來動態篩選URL:

URL那一行補充: url = http://ditu.92cha.com/dizhen.php?page={}&dizhen_ly=usa&dizhen_zjs=1&dizhen_zje=10&dizhen_riqis=1999-07-11&dizhen_riqie=2019-07-11′.format(i)
此時所要的資料已經篩選出來了,此時就剩下資料分類:

輸出的結果是這樣:

FineReport製作熱力圖,快速進行資料視覺化及分析

來來來,小板凳搬好,最全步驟來襲囉,趕快跟著軟妹一起操作一遍吧!很簡單的哟!

步驟一:

將爬取的資料導入Excel中,並且編輯為正確格式。由於FR不可直接連接Excel,可以將剛剛創建的excel檔放到C:\FineReport_10.0\webapps\webroot\WEB-INF\reportlets(就是你電腦裝FR的盤)當做內置範本。

步驟二:

這時候打開FineReport就可以看到你的excel檔,接下來導入資料,選擇 檔(File),檔案類型為excel,選擇本地檔(Local File),選擇剛剛導入的excel檔,右側選擇“第一行包含行標題”。然後即可(可以點擊預覽看到資料)

步驟三:

資料導入完畢,開始範本設計,選擇決策報表(.frm),拖選圖表中的熱力地圖。

步驟四:

點擊地圖編輯,選擇地圖點(可以不用選),這裡我選擇範本參數,另外可以設定地圖顯示的中心點,可以自訂,我這裡沒有做任何選擇。

步驟五:

地圖資料導入,設定如下。

步驟六:

這時差不多就完成了,如果發現你的圖片顯示很奇怪。這可能是你樣式設定的問題。

步驟七:

樣式設定,圖例預設設定為漸變色,可以根據自己需求,定義最大最小值。選擇圖表屬性工作表-樣式>系列,可看到系列屬性分為熱力點和背景區域兩個設定。其中背景區域與區域地圖的設定屬性一致,如果使用者選擇的邊界/點不包含邊界資訊,則設置無效。

熱力點的系列介面如下:其中渲染半徑越大,則熱力區域的展示範圍越大;模糊度越大,則熱力邊界的模糊程度越高。不透明度最小和最大,對應圖形中最小值和最大值的不透明度。

這時候就完成了熱力圖的製作,是不是很簡單?最終呈現的效果:

通過整理全球近20年來的地震資料,按照時間和空間兩個維度,系統將發生的每一次地震按照震中位置、地震震級和地震時間進行了視覺化呈現。系統中光亮的面積大小代表著地震的震級強弱,亮度越大震級越強,亮點密集的區域意味著該地區地震之頻繁。

透過熱力圖視覺化可以一目了然:地震大多發生在板塊邊界上,全球最大的兩大地震帶分別是環太平洋地震帶和歐亞地震帶,是全球六大板塊間的接觸帶。這也印證了那個眾所周知的科學常識:地球板塊運動過程中的相互作用,是引起地震的主要原因。

由圖可見,我國的地震主要集中在西部的四川、雲南等地以及東部的臺灣,這些地方也就是板塊活動頻繁的地方。所以生活在這些地區的人們,需要更加注重瞭解地震的相關知識以及逃生技能。另外,我國周邊的尼泊爾、緬甸、菲律賓、日本等國家,也是地震經常光顧的主兒。

另外,地球儀效果是10.0新增的效果,可以點擊【插入–插入圖表–新增】

然後導入資料,設定參數,就大功告成啦。

感謝閲讀!FineReport提供最全免費功能版本,不用等待,直接點擊以下按鈕激活&下載!
免費試用FineReport10.0>

獲得帆軟最新動態:數據分析,報表實例,專業的人都在這裡!加入FineReport臉書粉絲團

相關文章:
15分鐘,教你用Python爬網站數據,並用BI視覺化分析!

掌握這7點,不懂程式碼也能做出酷炫的資料視覺化大屏!

活用這25種圖表效果,你的資料視覺化也能變得高級炫酷!

喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!

熱門文章推薦

立即試用,可獲取更多 報表範本和案例

免費試用