ECharts 4的R语言接口实现, 详细说明文档和案例请查看echarter 。html
我以前一直使用highcharter作交互式数据可视化,由于工做的须要开始使用echarts,期间主要使用过两个echarts包,cosname/recharts和JohnCoene/echarts4r。由于使用highcharter
比较久,也习惯了它的的实现方式,以及highcharts
丰富的官方文档和社区帮助。因此我按照highcharter
的方式,尝试开发了echarter
。取名为echarter
,也是为了向highcharter
致敬。而且也参考了cosname/recharts和JohnCoene/echarts4r的实现方式。git
这是我第一次开发完整的package,不足之处欢迎你们指正。github
echarter包的源代码在分享在Github,jeevanyue/echarter,可经过下列方式安装。json
devtools::install_github("jeevanyue/echarter")
支持官方配置项的全部组件,详细能够查看官方文档option和案例。api
ec_markapp
二维的直角坐标系grid/cartesian2d,默认为空echarts
极坐标系polar工具
平行坐标系parallel,只限于series.parallelui
单轴坐标系singleAxisspa
地理坐标系geo
日历坐标系calendar
雷达坐标系radar,只限于series.radar
支持的图表类型: 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导入数据,须要提早对数据进行预处理,后续再对这个组件进行拓展。
目前支持的数据类型有,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。
echart(theme = 'dark')
echart(theme = '**.js')
ec_theme
构建的主题,echart(theme = thm)
导入getOption("echarter.option")
,该方式目前尚未跟全部图表类型匹配,建议采用以上三种方式shiny经过renderEcharts
和echartsOutput
实现。