首先,加载recharts
:
library(recharts)
创建Echarts对象的基本框架是
第1步 echart => 第2步 set[Widgets] => 第3步 set[Aesthetics].
第1步生成Echarts对象的结构,第2步创建/修改控件,而第3步修改控件的参数。如果要修改series部件内的参数怎么办?你需要setSeries
。
与其它set[Widgets]
函数相比,setSeries
是一个较低级的函数。它直接把参数列表以list形式传入Echarts对象,因此可能导致意外错误。建议在决定使用setSeries
前尽可能熟悉echarts的结构。
setSeries(chart, series = NULL, timeslots = NULL, ...)
参数 | 要求 |
---|---|
chart |
Echarts对象,由 |
series |
系列,可以是系列名称,或索引值。如果系列名称不在已有的系列列表中,则为视为新系列插入Echarts对象中。如设为NULL,则作用于所有系列。 |
timeslots |
时间轴切片,可以是时间轴索引值或 |
… |
省略号,拟传入Echarts对象的参数列表 |
属性 | 解释 |
---|---|
|
图类型,如 ‘line’, ‘bar’, ‘scatter’, ‘k’, ‘pie’, ‘radar’, ‘chord’, ‘force’, ‘map’… 如设为NULL,该系列不被显示。 |
|
系列名称。 |
|
参见 |
|
|
|
参见 |
|
参见 |
|
参见 |
|
数据图形是否可点击,默认为TRUE |
|
第二级图层控制,默认为2。 |
|
第一级图层控制,默认为0。 |
属性 | 解释 |
---|---|
|
TRUE/FALSE |
|
0/1, 默认为0 (主坐标轴) |
|
0/1, 默认为0 (主坐标轴) |
|
参见 |
|
数值或 |
|
-180 ~ 180 |
|
TRUE/FALSE, 默认为FALSE |
|
TRUE/FALSE, 默认为FALSE |
|
仅用于线图/面积图, ‘nearest’/‘min’/‘max’/‘average’, 默认’nearest’. |
|
TRUE/FALSE, 默认为TRUE |
属性 | 解释 |
---|---|
|
TRUE/FALSE |
|
0/1, 默认为0 (主坐标轴) |
|
0/1, 默认为0 (主坐标轴) |
|
百分比或数值, 默认为’30%’ |
|
百分比或数值, 默认为’20%’ |
|
数值型,默认为0. |
|
数值型,默认为自动 |
|
数值型,默认为自动 |
|
TRUE/FALSE, 默认为TRUE |
属性 | 解释 |
---|---|
|
0/1, 默认为0 (主坐标轴) |
|
0/1, 默认为0 (主坐标轴) |
|
参见 |
|
数值或 |
|
-180 ~ 180 |
|
TRUE/FALSE, 默认为FALSE. |
|
数值型,默认为2000. |
|
TRUE/FALSE, 默认为TRUE. |
属性 | 解释 |
---|---|
|
TRUE/FALSE, 默认为TRUE. |
|
百分比或数值, 默认为c(‘50%’, ‘50%’) |
|
百分比或数值, 默认为c(0, ‘75%’) |
|
数值, -360 ~ 360, 饼图默认为90 |
|
数值型,默认为0. |
|
TRUE/FALSE, 默认为TRUE. |
|
‘radius’/‘area’. |
|
数值型,默认为10. |
|
NULL/‘single’/‘multiple’, 默认为NULL. |
属性 | 解释 |
---|---|
|
参见 |
|
数值或 |
|
竖直,-180 ~ 180 |
|
TRUE/FALSE, 默认为TRUE. |
|
数值,防止某数据系列的极坐标索引值. |
属性 | 解释 |
---|---|
|
参见 |
|
数值或 |
|
TRUE/FASLE, 默认为FALSE. |
|
数值型向量 |
|
联结列表 |
|
矩阵数据 |
|
数值型,默认为10. |
|
数值型,默认为20. |
|
TRUE/FALSE, 默认为TRUE. |
|
TRUE/FALSE, 默认为FALSE. |
|
TRUE/FALSE, 默认为FALSE |
|
数值型,默认为2. |
|
‘none’/‘ascending’/‘descending’, 默认为’none’. |
|
‘none’/‘ascending’/‘descending’, 默认为’none’. |
|
节点列表 |
属性 | 解释 |
---|---|
|
参见 |
|
数值或 |
|
TRUE/FALSE, 默认为FALSE. |
|
百分数或数值,默认为c(‘50%’, ‘50%’). |
|
TRUE/FALSE/‘scale’/‘move’, 默认为FALSE. |
|
文本型向量 |
|
联结列表 |
|
数据矩阵 |
|
百分比或数值,默认为’100%’ |
|
数值型,默认为10. |
|
数值型,默认为20. |
|
图标名向量, 默认为c(‘none’, ‘arrow’) |
|
数值型向量,默认为c(10, 15) |
|
数值型,默认为1 |
|
数值型,默认为1 |
|
TRUE/FALSE, 默认为TRUE |
|
TRUE/FALSE, 默认为FALSE |
|
数值型,默认为1 |
|
联结列表 |
属性 | 解释 |
---|---|
|
NULL/‘single’/‘multiple’, 默认为NULL |
|
‘china’/‘world’, 默认为’china’ |
|
TRUE/FALSE, 默认为TRUE |
|
TRUE/FALSE, 默认为TRUE |
|
|
|
‘sum’/‘average’, 默认为’sum’ |
|
整型,默认为0 |
|
TRUE/FALSE, 默认为TRUE |
|
TRUE/FALSE/‘scale’/‘move’, 默认为FALSE |
|
数值型, |
|
参见 |
|
列表, 比如 |
|
参见 |
|
参见 |
属性 | 解释 |
---|---|
|
TRUE/FALSE, 默认为TRUE. |
|
百分比或数值,默认为c(‘50%’, ‘50%’) |
|
百分比或数值,默认为c(0, ‘75%’) |
|
数值型 -360 ~ 360, 默认为225 |
|
数值型 -360 ~ 360, 默认为 -45 |
|
数值型,默认为0 |
|
数值型,默认为 100 |
|
数值型,默认为10 |
|
列表, 默认为 |
|
列表,默认为 |
|
列表,默认为 |
|
列表,默认为 |
|
列表,默认为 |
|
列表,默认为 |
|
列表,默认为 |
属性 | 解释 |
---|---|
|
TRUE/FALSE, 默认为TRUE. |
|
‘ascending’|‘descending’, 默认为’descending’ |
|
数值型,默认为0 |
|
数值型,默认为100 |
|
数值型,默认为80 |
|
数值型,默认为60 |
|
数值型,默认为 80 |
|
数值型,默认为60 |
|
百分比或数值,默认为 NULL |
|
百分比或数值,默认为 NULL |
|
‘left’/‘right’/‘center’, 默认为’center’ |
|
百分比,默认为 ‘0%’ |
|
百分比,默认为 ‘100%’ |
|
数值型,默认 0 |
属性 | 解释 |
---|---|
|
0/1, 默认为0 (主坐标轴) |
|
TRUE/FALSE, 默认为TRUE. |
|
数值型,默认为1 |
属性 | 解释 |
---|---|
|
百分比或数值,默认为 c(‘50%’, ‘50%’) |
|
百分比或数值,默认为 c(‘80%’, ‘80%’) |
|
当前显示的根节点名称 |
属性 | 解释 |
---|---|
|
参见 |
|
数值型或 |
|
TRUE/FALSE/‘scale’/‘move’, 默认为FALSE |
|
列表, 可以是 |
|
数值型,默认为100 |
|
数值型,默认为30 |
|
‘vertical’/‘horizontal’/‘radial’, 默认为’vertical’ |
|
“” 或 “inverse”, 默认为“” |
属性 | 解释 |
---|---|
|
百分比或数值,默认为 c(‘50%’, ‘50%’) |
|
百分比或数值,默认为 c(‘80%’, ‘80%’) |
|
向量, -90 ~ 90, 默认为c(0, 90) |
|
列表,默认为 |
属性 | 解释 |
---|---|
|
数值型,默认为30 |
|
|
|
数值型,默认为0.05 |
|
数值型,默认1 |
|
数值型,默认1 |
用airquality
数据集产生4个Echarts对象g1
- g4
:
时间轴 | 单个系列 | 多个系列 |
---|---|---|
no | g1 |
g2 |
yes | g3 |
g4 |
require(data.table)
## Loading required package: data.table
aq <- airquality
aq$Date <- as.Date(paste('1973', aq$Month, aq$Day, sep='-'))
g1 <- echartr(aq, Date, Temp, type='curve') %>% setToolbox(pos=3)
g2 <- echartr(aq, Day, Temp, Month, type='curve') %>% setToolbox(pos=3)
g3 <- echartr(aq, Day, Temp, t=Month, type='curve') %>% setToolbox(pos=3)
aq1 <- melt(aq, id=c('Month', 'Day'), measure=c('Temp', 'Wind'),
variable='Param')
g4 <- echartr(aq1, Day, value, Param, t=Month, type='curve') %>%
setToolbox(pos=3)
setSeries
能修改series部件中的任何元素。
你可以先修改图类型,然后调整图形参数。
g1 %>% setSeries(type='bar') %>% setSeries(barWidth=0.5)
也可以把修改局限在某几个数据系列中…
g2 %>% setSeries(series='5', itemStyle=list(normal=itemStyle(
lineStyle=lineStyle(shadowBlur=10, shadowColor='yellow')))
或某几个时间轴切片中…
但在时间轴中,属性会自动往后继承,所以你需要在当前切片的下一切片中重置属性,阻断属性继承。
g3 %>% setSeries(timeslots='5', itemStyle=list(normal=itemStyle(
lineStyle=lineStyle(shadowBlur=10, shadowColor='yellow')))) %>%
setSeries(timeslots='6', itemStyle=list(normal=itemStyle(
lineStyle=lineStyle(shadowBlur=0))))
或者某些系列和时间轴切片的组合。
g4 %>% setSeries(series='Temp', timeslots='5', itemStyle=list(normal=itemStyle(
lineStyle=lineStyle(shadowBlur=10, shadowColor='yellow')))) %>%
setSeries(timeslots='6', series='Temp', itemStyle=list(normal=itemStyle(
lineStyle=lineStyle(shadowBlur=0)
)))