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

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

往期回顾

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

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

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

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

640?wx_fmt=png&wxfrom=5&wx_lazy=1

640?wx_fmt=png&wxfrom=5&wx_lazy=1

一.安装方式

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')

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

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))

0?wx_fmt=png

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')

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

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')

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

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')

0?wx_fmt=png

0?wx_fmt=png

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')

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

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

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
数据分析与可视化一直是数据科学领域中最重要的部分之一。Jupyter作为一个开源的交互式计算环境,可实现数据采集、数据分析和可视化,且易于学习和使用。在这里,我们演示一个基于Jupyter的数据采集-数据分析-可视化综合案例。 首先,我们需要采集数据。我们可以通过使用Python的requests库来访问网站,并使用BeautifulSoup库提取所需数据。例如,我们可以采集电影评分网站IMDb的电影评分数据。 接下来,我们需要进行数据清洗和预处理。我们可以使用Python的pandas库来清理和加工数据。例如,我们可以删除缺失值、重复值和异常值,并将数据类型转换为适合分析和可视化的格式。 在数据预处理后,我们可以开始进行数据分析。我们可以使用Python的numpy、matplotlib和seaborn库等,在Jupyter中进行数据分析。例如,我们可以绘制电影的得分分布、类别分布和年份分布图表等。 最后,我们可以开始进行可视化。我们可以使用Python的plotly和bokeh库等,实现交互式数据可视化。例如,我们可以制作热力图、地图和动态图等,并将它们添加到Jupyter Notebook中,使读者可以与之交互。 综上所述,Jupyter是一个功能强大、易于学习和使用的数据采集-数据分析-可视化综合工具。通过基于Jupyter的数据分析和可视化,我们可以更好地理解和解释数据,更好地进行决策和规划。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DemonHunter211

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值