原文链接: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数据中的值为多边形着色。

拓端tecdat|用R语言制作交互式图表和地图相关推荐

  1. R语言----制作数据分布图(直方图+概率密度曲线)

    R语言--制作group1和group2的分布图并输出tiff格式300dpi保存 制作分布图我选择的是制作直方图+概率密度曲线~ library(ggplot2) data<-read.csv ...

  2. 实例演示R语言制作限制性立方条图

    限制性立方样条函数(RCS)在比较非线性关系中很常用.既往我们已经讲过R语言制作限制性立方条图,但是讲得比较简单,中间有些环节没写出来,我也不是很满意,今天重新来说一下.主要是要用到rms包的rcs函 ...

  3. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  4. 手把手教你使用R语言制作临床决策曲线

    DCA(Decision Curve Analysis)临床决策曲线是一种用于评价诊断模型诊断准确性的方法,在2006年由AndrewVickers博士创建,我们通常判断一个疾病喜欢使用ROC曲线的A ...

  5. r语言 html gif,推荐 :6步教你用R语言制作动图

    原标题:推荐 :6步教你用R语言制作动图 引言 数据可视化可能是数据科学领域最重要却通常最少被提及的部分. 我这么说是因为创造数据故事和可视化对你的顾客最终怎么看待你的工作有巨大的影响.数据科学不仅仅 ...

  6. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  7. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  8. 拓端tecdat|bilibili视频流量数据潜望镜

    最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...

  9. r语言siggenes包_初探R语言可视化交互式包plotly——旭日图(Sunburst Chart)

    ploylt原来是一款用来做数据分析和可视化的在线平台,后来有人开发了一些语言(Python.R.Matlab等)的API,在R里就是plotly包了.plotly已经发布在CRAN上了,要想安装,仅 ...

  10. 绘图杂记【3】Python / R语言 制作峰峦图

    先看一下 matplotlib画峰峦图的效果 学习地址:https://matplotlib.org/matplotblog/posts/create-ridgeplots-in-matplotlib ...

最新文章

  1. 机器人时代的资本主义:21世纪的工作,收入和财富
  2. Detect combined string
  3. Vue中组态实现方案-BaseMap的使用
  4. arcgis将小于0的数值设置成0.01
  5. 访问日志不记录静态文件、访问日志切割、静态元素过期时间
  6. modelsim10.1a安装破解说明
  7. 别再抱怨 TensorFlow2.0 辣鸡了,会了是“真香”
  8. 使用CSS和JavaScript的网络动画
  9. 安卓学习笔记18:常用控件 - 按钮、图像视图和图像按钮
  10. GAMP读取精密星历存在一个小BUG
  11. Cool_gamesetup.exe山寨版熊猫烧香病毒
  12. NRF51822基于蓝牙协议栈SDK+FDS-Flash data storage 的使用及应用例程
  13. Informatic学习总结_day01
  14. 有序表,二叉排序树,二叉平衡树平均查找长度比较例题 二叉平衡树的高度
  15. 用PS做一个简单的相机图标
  16. python 实现QQ邮箱发送邮件
  17. 投屏设置 android,上班摸鱼神器 Anlink安卓手机投屏操作体验
  18. 7-1 对象数组 (100 分)
  19. go 语言最详细的入门教程
  20. 赴美工作常识(Part 5 - 绿卡优先级)

热门文章

  1. Android 应用程序之间数据共享—ContentProvider
  2. 8.2、磁盘、目录和文件计算
  3. 使用canto+w3m实现在控制台上完美阅读RSS
  4. 如何更好地控制input输入框的高度
  5. 推理框架runtime的动态输入、输出思路
  6. 线程(进程线程的比较)
  7. Vue双向绑定的实现原理系列(三):监听器Observer和订阅者Watcher
  8. Dubbo架构设计详解(转载)
  9. 高可用Hadoop平台-应用JAR部署
  10. 自己动手写PHP框架(三)