R语言可视化之 echarts4r

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

echarts4r 包是 ECharts 的 R 语言接口,目前可以从 CRAN 是直接安装。echarts4r 语法结构简单,易用,可读性很好,是很好的交互式绘图包。

安装echarts4r包,具体操作见上篇 R包 安装教程

教程下载:https://cran.r-project.org/web/packages/echarts4r/index.html

1
install.packages("echarts4r")

  

散点图

echarts4r 作图第一步用e_charts函数创建一个 echarts4r 对象,函数第一个参数为数据,第二个参数为 x 轴数据,第二步以及后续都是用%>%管道操作符来进一步作图。

绘制散点图,用iris数据,x 轴为 Sepal.Length。y 轴为 Petal.Length,在e_scatter中定义为serie。通过group_by根据 Sepal.Length 进行分组,在图中表现为不同颜色。散点大小通过size参数设置。

1
2
3
4
5
library(echarts4r)
iris %>%
    group_by(Species) %>%
    e_charts(x = Sepal.Length) %>%
    e_scatter(serie = Petal.Length, size = Sepal.Width)

 

 

  对比一下 ggplot2 的散点图语法及效果

 

1
2
3
4
library(ggplot2)
iris %>%
  ggplot(aes(x=Sepal.Length,y=Petal.Length,size=Sepal.Width,col=Species))+
  geom_point()

  

 

柱状图

1
2
3
4
5
6
7
8
9
10
11
12
library(echarts4r)
df <- data.frame(
  x = seq(50),
  y = rnorm(50, 10, 3),
  z = rnorm(50, 11, 2),
  w = rnorm(50, 9, 2)
)
  
df %>%
  e_charts(x) %>%
  e_bar(y, name = "bar") %>%
  e_title("Bar and step charts")

  

 

热力图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
library(echarts4r)
v <- LETTERS[1:10]
matrix <- data.frame(
  x = sample(v, 300, replace = TRUE),
  y = sample(v, 300, replace = TRUE),
  z = rnorm(300, 10, 1),
  stringsAsFactors = FALSE
) %>%
  dplyr::group_by(x, y) %>%
  dplyr::summarise(z = sum(z)) %>%
  dplyr::ungroup()
  
matrix %>%
  e_charts(x) %>%
  e_heatmap(y, z) %>%
  e_visual_map(z) %>%
  e_title("Heatmap")

 

 

 

仪表盘 

1
2
3
4
library(echarts4r)
e_charts() %>%
  e_gauge(41, "PERCENT") %>%
  e_title("Gauge")

  

 

 词云

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
library(echarts4r)
words <- function(n = 5000) {
  a <- do.call(paste0, replicate(5, sample(LETTERS, n, TRUE), FALSE))
  paste0(a, sprintf("%04d", sample(9999, n, TRUE)), sample(LETTERS, n, TRUE))
}
  
tf <- data.frame(terms = words(100),
  freq = rnorm(100, 55, 10)) %>%
  dplyr::arrange(-freq)
  
tf %>%
  e_color_range(freq, color) %>%
  e_charts() %>%
  e_cloud(terms, freq, color, shape = "circle", sizeRange = c(3, 15)) %>%
  e_title("Wordcloud", "Random strings")

  

 

echarts4r 教程下载https://cran.r-project.org/web/packages/echarts4r/index.html 

posted @   徐海建  阅读(1983)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示