v 0.2
Echarts2 is an open source javascript visualization library developed by Baidu Inc. for interactive charts. Compared to other popular js libraries, Echarts is more Chinese-friendly. The latest stable release of Echarts2 is 2.2.7. The most up-to-date version is Echarts 3.3.2.
This package is to facilitate R
users to make use of Echarts2 library (Echarts3 will be supported in recharts2 package). A hello world example is as below:
echartr(iris, Sepal.Length, Sepal.Width, Species) %>% setTheme('macarons')
The initial
recharts
package was developed by Yang Zhou and Taiyun Wei. The current branch was forked from Yihui Xie.
if (!require(devtools)) library(devtools)
devtools::install_github('madlogos/recharts')
As the package is under development, you may come across errors when requiring the package directly from Github. You can alternatively download the codes from Github and compile the codes using RStudio.
The package was developed using RStudio under Ubuntu 16.
The Echarts object is an S3 list, comprising of the following elements:
(1) Timeline contained
|- timeline
|- options
|- series
|- list 1
|- ...
|- widgets (title, legend, toolbox, dataRange, dataZoom, roamController)
|- ...
(2) No timeline contained
|- series
|- list 1
|- ...
|- widgets (title, legend, toolbox, dataRange, dataZoom, roamController)
|- ...
The basic design is to configure an S3 object widget by widget and concatenate them by pipe operator (%>%). It is inspired by ggplot2
.
The core function is echartr
, which accepts basic settings of data source, variables, chart types and then constructs the framework of the S3 object (options
part of the Echarts DOM object).
Then echartr
parses the data source and calls series processing functions (series_scatter
, series_bar
, series_line
, ...) to build the series
part of the options
object.
Then you can tune the series using the low-level function setSeries
.
Then you can add more objects (addMarkLine
, addMarkPoint
, addHeatmap
, addNameMap
, ...) to the echarts object.
Then you can configure other widgets in the echarts object created by echartr
to create/modify the widgets. E.g, setTitle
, setLegend
, setToolbox
, setDataZoom
, setDataRange
, setTimeline
, setRoam
, axes such as setAxis
, setPolar
and aesthetics such as setGrid
, setSymbols
, setTooltip
, setTheme
.
Finally, you can use relocWidget
functions to relocate/resize the echarts object step further.
- Major part of core function
echartr
- Major part of widget functions
setTitle
,setLegend
,setDataRange
,setDataZoom
,setToolbox
,setTimeline
,setRoam
- Additional element functions
addMarkLine
,addMarkPoint
,addNameMap
,addHeatmap
,addGeoCoord
- Major part of Axis/grid functions
setAxis
,setPolar
,setGrid
- Major part of aesthetic function
relocWidget
,setTheme
,setSymbols
,setTooltip
- Series processing fuenctions
series_scatter
,series_bar
,series_line
,series_k
,series_pie
,series_funnel
,series_radar
,series_map
,series_force
,series_chord
,series_gauge
,series_wordCloud
,series_tree
,series_treemap
,series_venn
,series_riverEvent
,series_heatmap
- Mono-coordinate System
- Cartesian Coordinate System
- Scatter
- Bar
- Line
- K
- eventRiver
- Others
- Cartesian Coordinate System
- Multi-coordinate System
- Polar Coordinate System
- Pie
- Funnel
- Radar Chart
- Gauge Chart
- Others
- Polar Coordinate System
- Tool functions to configure series precisely
- Bug fix
- Optimize algorithms
Under the terms of MIT + file license.
Echarts2是百度发布的一个开源javascript图形库,用于创建交互图。与其他流行的js库相比,Echarts对中文更友好。Echarts2最新的发布版为2.2.7,而Echarts家族的最新版本为3.3.2。
该加载包是为了便利R
用户使用Echarts2库 (recharts2包将提供对Echarts3的支持). 下面是一个hello world案例:
echartr(iris, Sepal.Length, Sepal.Width, Species) %>% setTheme('macarons')
recharts
起先由Yang Zhou和Taiyun Wei开发。当前分支fork自Yihui Xie。
if (!require(devtools)) library(devtools)
devtools::install_github('madlogos/recharts')
此包仍在开发中,从Github直接安装可能遇到错误。可以从Github下载源代码包,然后在RStudio里编译。
该包在Ubuntu 16下用RStudio开发。
Echarts对象其实是一个S3列表,包括下列元素:
(1) Timeline contained
|- timeline
|- options
|- series
|- list 1
|- ...
|- widgets (title, legend, toolbox, dataRange, dataZoom, roamController)
|- ...
(2) No timeline contained
|- series
|- list 1
|- ...
|- widgets (title, legend, toolbox, dataRange, dataZoom, roamController)
|- ...
基本设计是逐个控件地配置S3对象,并用%>%串联起来。这一思路受到了ggplot2
启发。
核心函数是echartr
,它接受源数据、变量、图类型等基本设置,然后构建出一个基础的S3对象框架(Echarts DOM对象的options
部分)。
然后echartr
解析源数据并调用数据系列处理函数(series_scatter
, series_bar
, series_line
, ...)构建出options
对象中的series
部分。
接下来你就可以调用低级函数setSeries
微调series
了。
然后可以往这个Echarts对象中添加其他控件(addMarkLine
, addMarkPoint
, addHeatmap
, addNameMap
, ...)。
在然后可以在这个Echarts对象中配置其他控件的各项参数,比如setTitle
, setLegend
, setToolbox
, setDataZoom
, setDataRange
, setTimeline
, setRoam
, 或者坐标轴,如setAxis
, setPolar
以及美工,比如setGrid
, setSymbols
, setTooltip
, setTheme
.
最后,可以用relocWidget
函数调整控件位置/尺寸。
- 核心函数
echartr
的主体 - 控件函数
setTitle
,setLegend
,setDataRange
,setDataZoom
,setToolbox
,setTimeline
,setRoam
的主体 - 额外控件函数
addMarkLine
,addMarkPoint
,addNameMap
,addHeatmap
,addGeoCoord
- 坐标轴/绘图区函数
setAxis
,setPolar
,setGrid
- 美工函数
relocWidget
,setTheme
,setSymbols
,setTooltip
- 数据系列处理函数
series_scatter
,series_bar
,series_line
,series_k
,series_pie
,series_funnel
,series_radar
,series_map
,series_force
,series_chord
,series_gauge
,series_wordCloud
,series_tree
,series_treemap
,series_venn
,series_riverEvent
,series_heatmap
- 单坐标系
- 直角坐标系
- 散点图
- 柱图
- 线图
- K线图
- 事件河流图
- 其他
- 直角坐标系
- 多坐标系
- 极坐标系
- 饼图
- 漏斗图
- Radar Chart
- Gauge Chart
- 其他
- 极坐标系
- 更多工具函数,以便精确设置数据系列
- 修补bug
- 优化算法
MIT + file license