ECharts提供丰富的自定义配置选项,能够从全局、系列、数据3个层级去设置数据图形的样式。
下面以绘制南丁格尔图进行说明。
饼图
南丁格尔图属于饼图,饼图主要通过扇形的弧度表现不同类别数据在综合中的占比,它的数据格式比柱状图更为简单,只需要一维数值。
myChart.setOption({
series : [
{
name: '访问来源',
type: 'pie',
radius: '55%',
data:[
{value:235, name:'视频广告'},
{value:274, name:'联盟广告'},
{value:310, name:'邮件营销'},
{value:335, name:'直接访问'},
{value:400, name:'搜索引擎'}
]
}
]
})
Echarts中的数据项可以只设置成数值,也可以设置成包含有名称、样式配置、标签配置的对象。
可以设置roseType即可以显示成南丁格尔图
roseType: 'angle'
阴影的配置
ECharts中有一些通用的样式,诸如阴影、透明度、颜色、边框颜色、边框宽度等,这些样式一般都可以在系列的itemStyle设置
例如,阴影的样式可以通过下面的配置项设置
itemStyle: {
// 阴影的大小
shadowBlur: 200,
// 阴影水平方向上的偏移
shadowOffsetX: 0,
// 阴影垂直方向上的偏移
shadowOffsetY: 0,
// 阴影颜色
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
深色背景和浅色标签
背景色是全局的,可以直接在option下设置backgroundColor
setOption({
backgroundColor: '#2c343c'
})
文本样式可以设置为全局的textStyle
setOption({
textStyle: {
color: 'rgba(255, 255, 255, 0.3)'
}
})
也可以在每个系列分别设置,每个系列文本设置在label.textStyle
label: {
textStyle: {
color: 'rgba(255, 255, 255, 0.3)'
}
}
饼图需要将标签的视觉引导线颜色设置为浅色
labelLine: {
lineStyle: {
color: 'rgba(255, 255, 255, 0.3)'
}
}
设置扇形的颜色
扇形的颜色也是在itemStyle设置
itemStyle: {
// 设置扇形的颜色
color: '#c23531',
shadowBlur: 200,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
ECharts中每个扇形颜色可以通过分别设置data下的数据项实现
data: [{
value:400,
name:'搜索引擎',
itemStyle: {
color: '#c23531'
}
}, ...]
更为便捷的方式是通过visualMap组件将数据大小映射到明暗度
visualMap: {
// 不显示 visualMap 组件,只用于明暗度的映射
show: false,
// 映射的最小值为 80
min: 80,
// 映射的最大值为 600
max: 600,
inRange: {
// 明暗度的范围是 0 到 1
colorLightness: [0, 1]
}
}