一、实验目的
地震作为自然灾害有可怕的后果,日益严重地威胁着人类居住的安全。
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 = "微博用户省份分布")#点图
微博:数据智农
知乎:数据智农
制作:高晓璐
领取专属 10元无门槛券
私享最新 技术干货