echarter: Echarts的R语言接口

echarter

echarter: Echarts的R语言接口_第1张图片

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

简介

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

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

安装

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

devtools::install_github("jeevanyue/echarter")

基础组件

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

  • ec_title
  • ec_legend
  • ec_backgroundColor
  • ec_colors
  • ec_tooltip
  • ec_graphic
  • ec_axisPointer
  • ec_toolbox
  • ec_visualMap
  • ec_dataZoom
  • ec_timeline
  • ec_brush
  • ec_mark

    • ec_markPoint
    • ec_markLine
    • ec_markArea

坐标系组件

  • 二维的直角坐标系grid/cartesian2d,默认为空

    • ec_grid
    • ec_xAxis
    • ec_yAxis
  • 极坐标系polar

    • ec_polar
    • ec_angleAxis
    • ec_radiusAxis
  • 平行坐标系parallel,只限于series.parallel

    • ec_parallel
    • ec_parallelAxis
  • 单轴坐标系singleAxis

    • ec_singleAxis
  • 地理坐标系geo

    • ec_geo
  • 日历坐标系calendar

    • ec_calendar
  • 雷达坐标系radar,只限于series.radar

    • ec_radar
  • 不使用坐标系none

数据组件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,数据添加方式的分类:

echarter: Echarts的R语言接口_第2张图片

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

echarter: Echarts的R语言接口_第3张图片

图表类型

支持除了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实现。

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

其他echarts包

  • cosname/recharts - ECharts4
  • JohnCoene/echarts4r - ECharts4
  • yihui/recharts - ECharts2
  • madlogos/recharts - ECharts2 forked from yihui/recharts
  • madlogos/recharts2 - ECharts3
  • ChanningWong/REcharts3 - ECharts3
  • XD-DENG/ECharts2Shiny - ECharts3

你可能感兴趣的:(r,echarts)