/echarter

R Interface to Echarts

Primary LanguageR

echarter

ECharts 4的R语言接口实现, 详细说明文档和案例请查看echarter

简介

我之前一直使用highcharter做交互式数据可视化,因为工作的需要开始使用echarts,期间主要使用过两个echarts包,cosname/rechartsJohnCoene/echarts4r。因为使用highcharter比较久,也习惯了它的的实现方式,以及highcharts丰富的官方文档和社区帮助。所以我按照highcharter的方式,尝试开发了echarter。取名为echarter,也是为了向highcharter致敬。并且也参考了cosname/rechartsJohnCoene/echarts4r的实现方式。

这是我第一次开发完整的package,不足之处欢迎大家指正。

安装

echarter包的源代码在分享在Github,jeevanyue/echarter,可通过下列方式安装。

devtools::install_github("jeevanyue/echarter")

基础组件

支持官方配置项的所有组件,详细可以查看官方文档option案例

坐标系组件

数据组件ec_dataset

支持的图表类型: line, bar, scatter, effectScatter, boxplot, candlestick, pictorialBar, custom

暂时只支持data.frame和json两种数据格式。

如果是data.frame,会通过jsonlite::toJSON(setNames(data, NULL))转为json,并默认dimensions = colnames(data)。如果是json,会直接取用该数据,并默认dimensions = NULL

通过ec_dataset导入数据,需要提前对数据进行预处理,后续再对这个组件进行拓展。

数据组件ec_add_series

目前支持的数据类型有,data.frame, matrix, numeric, character, tx, forecast.

添加数据的方式我根据两个属性进行判断,坐标系和图表类型。

有坐标系的图表,包括line、bar、scatter、effectScatter、boxplot、candlestick、pictorialBar、lines、heatmap、themeRiver,数据添加方式的分类:

无坐标系的图表,包括pie、map、funnel、guage、tree、treemap、sunburst、sankey、graph,数据添加方式的分类:

图表类型

支持除了GL的所有图表类型,包括水球图liquidfill和字符云wordcloud,详见基本图表高级图表

echarter

支持echarter来快速绘图。

主题theme

可以通过下列四种方式设置主题,详见echarter.theme

  • 支持自带的theme: dark, infographic, macarons, roma, shine, vintage,echart(theme = 'dark')
  • 导入echarts theme 构建工具的js主题文件,echart(theme = '**.js')
  • 导入ec_theme构建的主题,echart(theme = thm)导入
  • 修改全局主题getOption("echarter.option"),该方式目前还没有跟所有图表类型匹配,建议采用以上三种方式

shiny案例

shiny通过renderEchartsechartsOutput实现。

  • 实时数据,codedemo
  • 鼠标事件和触发图表行为,及图表联动实例,codedemo
  • toolbox拓展,codedemo

其他echarts包