用R语言制作交互式图表和地图

原文链接:http://tecdat.cn/?p=8032

可以直接从R / RStudio制作在线交互式图表和地图。

配置

启动RStudio,创建一个新的RScript,然后将工作目录设置为下载的数据文件夹。

使ggplot2图表成为交互式Plotly图表

制作交互式 点线图

以下代码将安装并加载程序包(该程序还将自动加载ggplot2),加载readrdplyr,然后加载我们之前使用的食品券数据。

# install and load plotly, load readr and dplyr
install.packages("plotly")
library(plotly)
library(readr)
library(dplyr)

将其转变为Plotly图。

# load data
food_stamps <- read_csv("food_stamps.csv")

# dot-and-line chart
food_stamps_chart <- ggplot(food_stamps, aes(x = year, y = participants)) +
  xlab("Year") +
  ylab("Participants (millions)") +
  theme_minimal(base_size = 14, base_family = "Georgia")
  geom_point() +
  geom_line()

plot(food_stamps_chart)

如前所述,这会将ggplot2图表保存在您的环境中。以下代码将其转换为“绘图”图表,该图表应显示在Viewer右下角的标签中:

?

当您将鼠标悬停在默认图表上时,一些控件会显示在右上角。

要重新格式化工具提示,我们需要同时修改ggplot2plotly代码

最终layout功能中的代码代码为工具提示设置样式,使用白色背景并更改字体系列,使其与图表的其余部分保持一致。 将代码插入页面并按如下所示进行编辑:

<div class="container">

    <iframe width="100%" height="450" frameborder="0" scrolling="no" src="food_stamps_interactive.html"></iframe>

</div> <!-- /.container -->

结果应该是:

?

制作疾病和民主散点图的交互式版本

此代码创建具有线性趋势线的基本散点图,而没有映射到点income_group的颜色:

结果应该是:

?

以下代码使用定性的ColorBrewer调色板为这些点创建此图表的版本,以由世界银行收入组为其着色。

这是静态版本:

?

这是交互式的:

?

请注意,交互式ggplot版本未继承scale_color_brewer对静态ggplot图表中的图例中的项目进行排序的代码。

但是我们可以通过首先运行以下代码来解决此问题:

这将转换income_group为分类变量或factor,然后按其类别或级别的顺序对数据框进行排序。

现在,像以前一样运行图表代码将可以固定交互式图表中图例中项目的顺序。

?

制作交互式版本的加州幼儿园免疫接种热图

这是 另一个示例。

结果应该是:

?

练习制作其他交互式图表

在课堂上,在时间允许的情况下,我们将使用plotly 创建这些ggplot2图表的交互式版本:

?

?

?

使用Leaflet制作地震风险图和地震图

制作交互式在线地图的最广泛使用的JavaScript库。

# install and load leaflet and rdgal
install.packages("leaflet")
install.packages("rgdal")
library(leaflet)
library(rgdal)

首先,让我们看看如何制作以伯克利为中心的基本Leaflet地图:

该地图应显示在Viewer

?

leaflet函数创建一个 地图。

addProviderTiles函数使用Leaflet Providers插件将各种图块添加到地图。

现在seismic使用rgdal中readOGR函数加载从shapefile 开始的地震地图所需的数据。

提到的两个分别seismic指向文件夹和其中的shapefile。

现在你应该在你的环境中调用的对象seismic是一个SpatialPolygonsDataFrame

我们还可以直接从美国地质调查局地震API中加载地震数据,如有关查找和下载数据的课程说明中所述:

使用该网址,我们加载了自1960年初以来6级及以上的地震,地震发生在美国大陆地理中心的6,000公里半径内。

让我们看一下seismic数据摘要:

# view summary of seismic_risk data
summary(seismic)

定义破坏性地震的年度风险的数据是可变的ValueRange。但是,此合并变量的类别顺序不正确。要更正此问题,我们应将变量从文本转换为factor,或levels按正确的顺序进行分类。

现在,类别应按正确的顺序排列:

请注意,要运行dplyr代码以mutate

接下来,我们将地震风险数据加载到 地图中:

现在,您应该leaflet在环境中看到一个类型的对象。

现在,我们只需两行代码就可以创建具有两层的地图:

结果应该是:

?

该函数colorFactor将命名的ColorBrewer调色板分配给类别变量。

该函数addPolygons将多边形添加到地图:不stroke = FALSE给它们轮廓;fillOpacity = 0.7使它们稍微透明;color = ~pal(ValueRange))使用调色板根据ValueRange数据中的值为多边形着色。

如果您有任何疑问,请在下面发表评论。

?

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

?QQ:3025393450

?QQ交流群:186388004 

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

欢迎选修我们的R语言数据分析挖掘必知必会课程!

原文地址:https://www.cnblogs.com/tecdat/p/11741492.html

时间: 2024-10-14 06:50:28

用R语言制作交互式图表和地图的相关文章

手把手教你学习R语言

本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开始,如何进行,选择什么学习资源.虽然网络上有许多不错的免费学习资源,然而它们多过了头,反而会让人挑花了眼. 为了构建R语言学习方法,我们在Vidhya和DataCamp中选一组综合资源,帮您从头学习R语言.这套学习方法对于数据科学或R语言的初学者会很有用;如果读者是R语言的老用户,则会由本文了解这门语言的部分最新成果. R语言学习方法会帮助您快速.高效学习R语言. 前言 在开始学习之前

[译]用R语言做挖掘数据《二》

数据探索 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令2. GVim:非常好用的编辑器,最简单的用法可以参考课程[Vim编辑器](http://www.shiyanlou.com/courses/2)3. R:在命令行输入‘R’  进入R语言

第七届R语言会议 - 小记

第七届中国R语言会议 小记 R语言始于1993年,并在1995年首次发布,后来经过2000年R-1.0,2004年R-2.0和2013年R-3.0,以61%的得票荣登世界编程或同积累语言排行榜榜首,远超Python,SQL,SAS,JAVA,Excel和Rapidminer. R最初是一种基于数学的脚本语言,前身为S语言.但是论数学,远不及专业的Matlab和SAS:论脚本功能,又远不及Python和Perl.但是,随着R语言的发展,在功能强大的IDE,RStudio和R本身开源的双重帮助下,R

R语言与数据分析之二:绘图

图形展示是最高效且形象的数据描述手段,因此巧妙的图像展示是高质量数据分析报告的必备内容,因此强大的图形展示功能也是统计分析软件的必备功能.R语言提供了强大的吐血展示功能.今天我由简单到复杂分别和小伙伴们分享如何用R语言画出各位想要的图形. 首先罗列下所有可选图形: 1.直方图(hist()):2.散点图(plot()):3.柱状图(barplot());4.饼图(pie());5.箱线图(boxplot());6.星相图(stars());7.脸谱图(faces());8.茎叶图(stem())

在 SPSS Statistics 和 Modeler 中调用 R 语言的实现和应用

http://www.ibm.com/developerworks/cn/data/library/ba/ba-1401spss-r/index.html 登录 | 注册   IBM 技术主题 软件下载 社区 技术讲座 搜索 developerWorks 打印本页面 用电子邮件发送本页面 新浪微博 人人网 腾讯微博 搜狐微博 网易微博 Digg Facebook Twitter Delicious Linked In developerWorks 中国 技术主题 Information Mana

R语言和中国地图

上图是R语言绘制的按地域分布的数据图.更科学,更严谨,也更有质感的样子. 今天瞎写点东西,我在想数据分析的意义是什么,也许就是研究事物存在的形式.而事物存在的形式是什么样子呢,从最初的三维空间,爱因斯坦伯伯把时间也拉了进来,于是时间作为一种变化的空间而存在着,成为第四维.现在好像还发现了第五空间,可能是人的心理空间或者意识空间,还有人说是曲率,不一而足.个人认为i,所有的事物应该都是彼此联系的,没有单纯的独立的与其他东西绝缘的存在.而人的内心,人的思维目前确实是独立于其他四维的空间.所以他应该是

R语言 图表

条形图 在R语言中创建条形图的基本语法是 barplot(H, xlab, ylab, main, names.arg, col) H是包含在条形图中使用的数值的向量或矩阵 xlab是x轴的标签 ylab是y轴的标签 main是条形图的标题 names.arg是在每个条下出现的名称的向量 col用于向图中的条形提供颜色 组合条形图和堆积条形图 # Create the input vectors. colors <- c("green","orange",&q

R语言做地图上的分析

R和ggplot可视化功能非常强大,了解了一下其中的地图做法,发现R做世界地图.美国地图非常容易,但做中国地图就太麻烦了,需要自己DIY. DIY也有多种方式,但网络上各种帖子教程的出图效果都不太理想,达不到工作用要求.下面是我的摸索过程,记录如下备忘,也请教于R老师们. 参考书目:ggplot2,R graphics cookbook,参考贴:http://site.douban.com/182577/widget/notes/10568279/note/257898418/ 0.引子 R里有

R语言中文社区历史文章整理(类型篇)

R语言中文社区历史文章整理(类型篇) R包: R语言交互式绘制杭州市地图:leafletCN包简介 clickpaste包介绍 igraph包快速上手 jiebaR,从入门到喜欢 Catterplots包,让你绘制不一样的图 今天再来谈谈REmap包 ggplot2你需要知道的都在这... R访问数据库管理系统(通过RODBC包和RMySQL包两种方式) NLP--自然语言处理(三)text2vec包 Rattle:数据挖掘的界面化操作 借助caret包实现特征选择的工作 R语言的高质量图形渲染