R语言数据可视化---交互式图表recharts包

2018 年 1 月 10 日 R语言中文社区 邬书豪


作者简介Introduction

邬书豪:车联网数据挖掘工程师 ,人工智能爱好者社区负责人。

微信ID:tsaiedu

知乎专栏:https://www.zhihu.com/people/wu-shu-hao-67/activities 

往期回顾

R可视化分析链家网南京楼市数据

kaggle案例:数据科学社区调查报告(附学习视频)

kaggle案例:员工离职预测(附学习视频)

Kaggle案例~R可视化分析美国枪击案(附数据集和代码)


一.安装方式

if (!require(devtools)) library(devtools)
install_github("madlogos/recharts")

二.使用方法:

1.散点图/气泡图

echartr(iris, x=SepalWidth, y=PetalWidth)
多个维度:series控制
echartr(iris, x=SepalWidth, y=PetalWidth, series=Species)

气泡图:type:标签控制

echartr(iris, SepalWidth, PetalWidth,series = Species, weight=PetalLength, type='bubble')




2.管道操作

echartr(iris, SepalWidth, PetalWidth, weight=PetalLength) %>%
   setDataRange(calculable=TRUE, splitNumber=0, labels=c('Big','Small'),
                color=c('red', 'yellow', 'green'), valueRange=c(0, 2.5))


3.折线图

先改造下内置数据集:
aq <- airquality
aq$Date <- as.Date(paste('1973', aq$Month, aq$Day, sep='-'))
aq$Day <- as.character(aq$Day)
aq$Month <- factor(aq$Month, labels=c("May", "Jun", "Jul", "Aug", "Sep"))

echartr(aq, Date, Temp, type='line') %>%
   setTitle('NY Temperature May - Sep 1973') %>% setSymbols('none')

含有分类属性:
echartr(aq, Day, Temp, Month, type='line') %>%
   setTitle('NY Temperature May - Sep 1973, by Month') %>%
   setSymbols('emptycircle')

带有时间轴(带有动态效果哦~~~):
echartr(aq, Day, Temp, t=Month, type='line') %>%
   setTitle('NY Temperature May - Sep 1973, by Month') %>%
   setSymbols('emptycircle')

也可画面积图:type属性控制
echartr(aq, Day, Temp, Month, type='area', subtype='stack') %>%
   setTitle('NY Temperature May - Sep 1973, by Month') %>%
   setSymbols('emptycircle')





4.饼图

重构内置数据集
titanic <- data.table::melt(apply(Titanic, c(1,4), sum))
names(titanic) <- c('Class', 'Survived', 'Count')
knitr::kable(titanic)
画饼图,可以和漏斗图切换
echartr(titanic, Class, Count, type='pie') %>%
   setTitle('Titanic: N by Cabin Class')

多个饼图:
echartr(titanic, Survived, Count, facet=Class, type='pie') %>%
   setTitle('Titanic: Survival Outcome by Cabin Class')

环图:
echartr(titanic, Survived, Count, facet=Class, type='ring') %>%
   setTitle('Titanic: Survival Outcome by Cabin Class')

信息图样环图:
ds <- data.frame(q=c('68% feel good', '29% feel bad', '3% have no feelings'),
             a=c(68, 29, 3))
g <- echartr(ds, q, a, type='ring', subtype='info') %>%
   setTheme('macarons', width=800, height=600) %>%
   setTitle('How do you feel?','ring_info',
            pos=c('center','center', 'horizontal'))
g

南丁格尔玫瑰图:
echartr(titanic, Class, Count, facet=Survived, type='rose', subtype='radius') %>%
   setTitle('Titanic: Survival Outcome by Cabin Class')







5.雷达图:

重构内置数据集
cars = mtcars[c('Merc 450SE','Merc 450SL','Merc 450SLC'),
             c('mpg','disp','hp','qsec','wt','drat')]
cars$model <- rownames(cars)
cars <- data.table::melt(cars, id.vars='model')
names(cars) <- c('model', 'indicator', 'Parameter')
knitr::kable(cars)

单个雷达图
echartr(cars, indicator, Parameter, model, type='radar', sub='fill') %>%
   setTitle('Merc 450SE  vs  450SL  vs  450SLC')

多个雷达图:
echartr(cars, indicator, Parameter, facet=model, type='radar') %>%
       setTitle('Merc 450SE  vs  450SL  vs  450SLC')



6.比较有趣的dashboard

构造一个数据集:
data = data.frame(x=rep(c('KR/min', 'Kph'), 2), y=c(3.3, 56, 9.5, 88),
                 z=c(rep('t1', 2), rep('t2', 2)))
knitr::kable(data)

echartr(data, x, y, type='gauge')
多个dashboard:
echartr(data, x, y, facet=x, type='gauge')
带时间轴:
echartr(data, x, y, facet=x, t=z, type='gauge')




基本上常用的数据图表展示recharts都可以很方便和很酷炫的展示,作者只是挑选了几个比较常用的图表类型做了抛砖迎玉.
具体的细节各位可以去查看具体的文档:https://madlogos.github.io/recharts/index_cn.html#-en


往期精彩内容整理合集:

2017年R语言发展报告(国内)

R语言中文社区历史文章整理(作者篇)

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

相关课程推荐


Kaggle十大案例精讲(连载中)

☟☟☟ 戳阅读原文,即刻加入课程。

登录查看更多
4

相关内容

Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。
专知会员服务
171+阅读 · 2020年6月4日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
193+阅读 · 2020年3月12日
【新书】Python数据科学食谱(Python Data Science Cookbook)
专知会员服务
114+阅读 · 2020年1月1日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
R语言机器学习:xgboost的使用及其模型解释
R语言中文社区
11+阅读 · 2019年5月6日
R语言数据挖掘利器:Rattle包
R语言中文社区
21+阅读 · 2018年11月17日
时间序列深度学习:状态 LSTM 模型预测太阳黑子(下)
R语言中文社区
9+阅读 · 2018年6月15日
最全数据科学学习资源:Python、线性代数、机器学习...
人工智能头条
12+阅读 · 2018年5月14日
lightgbm algorithm case of kaggle(上)
R语言中文社区
8+阅读 · 2018年3月20日
Python 爬虫实践:《战狼2》豆瓣影评分析
数据库开发
5+阅读 · 2018年3月19日
案例 | lightgbm算法优化-不平衡二分类问题(附代码)
shiny动态仪表盘应用 | 中国世界自然文化遗产可视化案例
R语言中文社区
10+阅读 · 2017年11月29日
python pandas 数据处理
Python技术博文
4+阅读 · 2017年8月30日
Arxiv
4+阅读 · 2019年12月2日
Arxiv
7+阅读 · 2018年3月21日
Arxiv
3+阅读 · 2018年2月20日
VIP会员
相关VIP内容
专知会员服务
171+阅读 · 2020年6月4日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
193+阅读 · 2020年3月12日
【新书】Python数据科学食谱(Python Data Science Cookbook)
专知会员服务
114+阅读 · 2020年1月1日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
相关资讯
R语言机器学习:xgboost的使用及其模型解释
R语言中文社区
11+阅读 · 2019年5月6日
R语言数据挖掘利器:Rattle包
R语言中文社区
21+阅读 · 2018年11月17日
时间序列深度学习:状态 LSTM 模型预测太阳黑子(下)
R语言中文社区
9+阅读 · 2018年6月15日
最全数据科学学习资源:Python、线性代数、机器学习...
人工智能头条
12+阅读 · 2018年5月14日
lightgbm algorithm case of kaggle(上)
R语言中文社区
8+阅读 · 2018年3月20日
Python 爬虫实践:《战狼2》豆瓣影评分析
数据库开发
5+阅读 · 2018年3月19日
案例 | lightgbm算法优化-不平衡二分类问题(附代码)
shiny动态仪表盘应用 | 中国世界自然文化遗产可视化案例
R语言中文社区
10+阅读 · 2017年11月29日
python pandas 数据处理
Python技术博文
4+阅读 · 2017年8月30日
Top
微信扫码咨询专知VIP会员