首先,加载recharts
:
library(recharts)
aesStyle
包含一大族函数,用于创建Echarts样式元件。比如,Echarts大量使用itemStyle
,而在recharts中,你既可以用itemStyle
函数,也可以直接写出itemStyle的list对象。
在itemStyle的list对象内部,包含三类元素:
所有函数名都有小驼峰法和小写连划线(Hadly Wickham推荐此法)两种形式。为了便于偷懒,还有缩写版(如labelLine缩写成ll)。
aesStyle(element = c("text", "line", "area", "chord", "node", "link"), ...)
aes_style(element = c("text", "line", "area", "chord", "node", "link"), ...)
lineStyle(...)
style_line(...)
textStyle(...)
style_text(...)
areaStyle(...)
style_area(...)
chordStyle(...)
style_chord(...)
nodeStyle(...)
style_node(...)
linkStyle(...)
style_link(...)
labelStyle(...)
style_label(...)
labelLineStyle(...)
style_labelline(...)
style_ll(...)
itemStyle(...)
style_item(...)
参数 | 要求 |
---|---|
chart |
Echarts对象,由 |
element |
包括c(“text”, “line”, “area”, “chord”, “node”, “link”). |
… |
创建样式元件的参数列表。 |
itemStyle
(normal|emphasis)参数 | 说明 |
---|---|
color | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
lineStyle | 用于线图/面积图/k线图/标注线,参见lineStyle |
textStyle | 参见textStyle |
areaStyle | 用于堆积线图/面积图和地图,参见areaStyle |
chordStyle | 用于和弦图,参见chordStyle |
nodeStyle | 用于和弦图,参见nodeStyle |
linkStyle | 用于和弦图,参见linkStyle |
borderColor | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
borderWidth | 用于symbol, symbole, 饼图、地图和标注点,数值型 |
barBorderColor | 用于symbol, symbole, 饼图、地图和标注点,可以是’rgba’, 十六进制值, 或颜色名称 |
barBorderRadius | 数值型向量,长度为1或4(顺时针右-下-左-上), 默认为0 |
barBorderWidth | 数值型向量,长度为1或4(顺时针右-下-左-上), 默认为0 |
label | 用于线图/面积图/条图/柱图/k线图/散点图/气泡图/饼图/环形图/地图/力导向布局图/漏斗图/金字塔图和标注点/标注线,参见labelStyle |
labelLine | 用于饼图/环形图和漏斗图,参见labelLineStyle |
labelStyle
/ style_label
参数 | 说明 |
---|---|
show |
TRUE/FALSE, 默认为TRUE |
position |
|
rotate |
仅用于和弦图。TRUE/FALSE, 默认FALSE |
distance |
仅用于和弦图和饼图/环图。数值型,默认为10 |
formatter |
参见 |
textStyle |
参见 |
x |
仅用于矩形树图,数值型 |
y |
仅用于矩形树图,数值型 |
labelLineStyle
/ style_ll
/ style_labelline
参数 | 说明 |
---|---|
show | TRUE/FALSE, 默认为TRUE |
length | 数值型或’auto’, 默认为 40 |
lineStyle | 参见lineStyle |
textStyle
/ style_text
参数 | 说明 |
---|---|
color | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
decoration | 仅用于提示框,文本型,默认为’none’ |
align | ‘left’ / ‘right’ / ‘center’ |
baseline | ‘top’ / ‘bottom’ / ‘middle’ |
fontFamily | 合法的字体名称 |
fontSize | 数值型,默认为12 |
fontStyle | ‘normal’ / ‘italic’ / ‘oblique’, 默认为’normal’ |
fontWeight | ‘normal’ / ‘bold’ / ‘bolder’ / ‘lighter’ 祸数值型,默认为’normal’ |
lineStyle
/ style_line
参数 | 说明 |
---|---|
color | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
type | ‘solid’ / ‘dotted’ / ‘dashed’。对树图,额外有’curve’ / ‘broken’. Default ‘solid’ |
width | 数值型 |
shadowColor | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
shadowBlur | 数值型,默认为5 |
shadowOffsetX | 数值型,默认为3 |
shadowOffsetY | 数值型,默认为3 |
areaStyle
/ style_area
参数 | 说明 |
---|---|
color | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
type | 仅能用’default’ |
chordStyle
/ style_chord
参数 | 说明 |
---|---|
width | 数值型,默认为1 |
color | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
borderWidth | 数值型,默认为1 |
borderColor | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
nodeStyle
/ style_node
参数 | 说明 |
---|---|
color | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
borderWidth | 数值型,默认为1 |
borderColor | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称 |
linkStyle
/ style_link
参数 | 说明 |
---|---|
type | ‘curve’ |
color | 颜色向量, 可以是’rgba’, 十六进制值, 或颜色名称。默认为’#5182ab’ |
width | 数值型,默认为1 |
怎样构建itemStyle对象?
首先,构建低级样式元件对象。
styText <- textStyle(color='red', fontFamily='Arial')
styLine <- lineStyle(color='#fff', width=4, shadowBlur=5)
然后,构建较高级的样式元件对象。
lab <- labelStyle(show=TRUE, position='inside', textStyle=styText)
最后,合成一个itemSytle对象。
itemStyle <- list(normal=itemStyle(lineStyle=styLine, label=lab),
emphasis=itemStyle(lineStyle=styLine, label=lab)
)