地震数据可视化

一、实验目的

地震作为自然灾害有可怕的后果,日益严重地威胁着人类居住的安全。

1.2018年5月28日1点50分,在吉林松原市宁江区发生5.7级地震,震源深度13千米。爬取微博评论,利用数据可视化,看全国民众对于这次地震的态度。

2.对1999-2015年世界地震数据进行可视化,可以帮助我们吸取经验教训,减轻地震所造成的人员伤亡和财产损失,对开阔地震研究领域具有一定的参考价值。

二、 实验内容

(一)微博评论数据可视化

1 数据获取

在R中安装rwda包,rwda包使用的R软件版本是3.3.1,安装rwda的同时会安装RCurl, plyr, rjson, jiebaR, wordcloud2, vioplot等R包。

(1)获取access_token:通过http://open.weibo.com/tools/console 获取。

(2)获取weiboid:

点击某条微博左上角用户名下面的时间,进入微博详情页面

工具->开发人员工具

select 选微博用户名下面的时间->name后面有一串数字就是所需要的weiboid

用rwda包爬取了吉林松原地震新闻的微博评论(按创建时间排前908条),爬取后以csv格式存储,内容如下。

2 数据可视化

(1)词云图

从词云图可以看出,对于这次松原地震,这些评论者主要是希望东北平安的。

(2)小提琴图

从微博用户性别与等级分布的小提琴图来看,该微博评论的女性用户数量略多一些,女性占比为65.6%,男性占比为34.4%,而且女性用户的微博等级高一些,男性用户的微博等级要低一点(图中的白点是中位数,男性用户的微博等级中位数约为8级,而女性用户的微博等级中位数接近13级)。

从微博用户认证与等级分布的小提琴图来看,在评论者中,认证用户的微博等级明显较高(认证用户的微博等级中位数将近30级),不过微博认证的用户较少,在我们抓取的样本中只占3.3%。

(3)散点图

从散点图来看,评论用户大多数来自东北三省(黑、吉、辽)和北京。因为地震发生在东北三省内,所以东北三省的人对吉林松原地震比较关心。

(二)1999-2015世界地震数据可视化

1 数据获取及清洗

数据是自1999年至2015年5月1日统计的世界各地的地震情况。数据共1583条,有7个维度,分别为日期、时间、纬度、经度、深度、震级、参考地点。利用excel表格清洗数据。

2 数据可视化

将数据导入Tableau,并作图。

(1)条形堆积图

从堆积图可以看出,08、13、14年的地震次数尤其的多。在每一年地震中,5、6、7级的地震占比是最多的。

(2)仪表盘

在仪表盘中,左上方是对比条形图,左下方是突出显示表,右上方是饼图,右下方是条形堆积图。各图在Tableau中表示方法如下:

条形堆积图: 列:日期 行:记录数 颜色:震级 标签:记录数

对比条形图:列:震级 行:记录数 按年份对比

突出显示表:列:年 行:震级 颜色:记录数

饼图: 颜色:震级 大小:记录数

从仪表盘可以看出,08、13、14年地震次数明显增多且增加的地震也多数为4、5、6、7级,从04-13年,地震级数的范围明显变大,怀疑这个时期是地震活跃期。

(3)地图

在Tableau中表示方法如下:

更改经纬度地理角色分别为经度、纬度

列:经度 行:纬度

符号地图画图

多个地图以震级对比

左图为Tablue中作出的世界地震地图,右侧为世界地震带分布图。左图中点的大小代表震级的大小。从世界地震地图可以看出,地震大多发生在板块边界上,全球最大的两大地震带分别是环太平洋火山地震带和欧亚地震带,是全球六大板块间的接触带。这也印证了那个众所周知的科学常识:地球板块运动过程中的相互作用,是引起地震的主要原因。世界80%的地震都发生在环太平洋地震带,欧亚地震带上。

上图为世界地震级数地图,不同颜色代表不同级数,从左到右依次为3-9级。从图中可以看出,3、4、5级地震频发在欧亚地震带上,6、7、8、9级地震频发在环太平洋火山地震带上。

左图为Tablue中作出的中国地震地图,右侧为中国地震带分布图。左图中点的大小代表震级的大小。从两张图的对应可以看出,中国地震主要分布在五个区域:中国台湾省、西南地区、西北地区、华北地区、东南沿海地区和23条地震带上。

上图为中国地震级数地图,不同颜色代表不同级数,从左到右依次为3-9级。我国位于世界两大地震带――环太平洋地震带与欧亚地震带之间,受太平洋板块、印度板块和菲律宾海板块的挤压,地震断裂带十分活跃。从地图中可以看出,西部地震频度高,东部地震影响大。

“中国和日本一样,都是世界上地震灾害最严重的国家。”20世纪以来,中国共发生6级以上地震近800次,遍布除贵州、浙江两省和中国香港特别行政区以外所有的省、自治区、直辖市,死于地震的人数达55万之多,占同期全球地震死亡人数的53%。中国人常为“我们用占世界7%的土地,养活了占世界22%的人口”而自豪,却很少有人知道中国这7%的国土上也承受了全球33%的大陆强震,是世界上大陆强震最多的国家。中国人抗震意识的薄弱,是我国和日本最大的区别。

地震是与一定的地震构造相联系的。在中国,太平洋板块、印度板块、菲律宾海板块与欧亚板块相互作用,再加上欧亚板块深部地球动力作用的影响,巨大的晚第四纪活动断裂十分发育,而这些断裂又正是大地震的温床。有历史记载以来,中国大陆的几乎所有的8级和80-90%的7级以上的强震都发生在这些断裂的边上。

三、R程序

library(readxl)

dizhen

View(dizhen)

class(dizhen)

#[1] "tbl_df" "tbl" "data.frame"

dim(dizhen)

#[1] 1583 7

names(dizhen)

dizhen1

names(dizhen1)[1]

names(dizhen1)[2]

names(dizhen1)[3]

write.csv(dizhen1, file = "H:/大三下/数据分析与处理/2/dizhen.csv", quote = F)

#爬虫

#install.packages("devtools")

install.packages("curl")

library(devtools)

devtools::install_github("sjhfx/rwda")

library(RCurl)

library(bitops)

library(rjson)

library(jiebaR)

library(jiebaRD)

library(wordcloud2)

library(vioplot)

library(sm)

library(curl)

library(plyr)

library(rwda)

access_token = "2.00YPoUIHzEWvzD3a6eaee5eckt2vHC"

df_comments = get_comments(access_token, weiboid, maxpage = 20)

write.csv(df_comments, file = "H:/大三下/数据分析与处理/2/weibo.csv", quote = F)

weibo_cloud(df_comments, stopwords = c("心心", "回复")) #词云图

gender_vioplot(df_comments, title_text = "微博用户性别与等级分布")#小提琴图

verify_vioplot(df_comments, title_text = "微博用户认证与等级分布")#小提琴图

province_dotchart(df_comments, title_text = "微博用户省份分布")#点图

微博:数据智农

知乎:数据智农

制作:高晓璐

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181018G0SI4R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券