echarts雷达图怎么给每个拐点设置不同的颜色

前言

最近有这样的需求需要用到echarts雷达图 然后这不是主要的,因为基本的配置官网上都是有的,但是需求要求雷达图的每个拐点要有不同的颜色,这样比较有特色,我。。。最后在官网找了半天发现还是只能设置一个颜色,但是需求又要有不同的颜色,怎么办了?投机取巧吧
话不多说,主要的思路是通过绘制多个图形,每个图形设置自己的颜色,然后叠加在一起,产生视觉上的在一张图就可以了,直接上代码吧,不懂的可以去官网看看。


var itemArr = [90, 80, 70, 60, 50, 40];   //数据数组

var n1 = [90, '', '', '', '', '']
var n2 = ['', 80, '', '', '', '']
var n3 = ['', '', 70, '', '', '']
var n4 = ['', '', '', 60, '', '']
var n5 = ['', '', '', '', 50, '']
var n6 = ['', '', '', '', '', 40]
var n7 = ['', '', '', '', '', '']
var labelArr = ['外观', '拍照', '系统', '性能', '屏幕', '价格'] //显示图例用
option = {
        legend: {
            orient: 'vertical',
            left: '400px',
            bottom: '450',
            icon: 'circle',
            data: labelArr,
            textStyle: {
              color: '#000000'
            }
          },
    radar: [
        {
            splitLine: {
                lineStyle: {
                    color: '#000'
                }
            }
        },
        {
            indicator: [  //绘制总的图形
                {text: '外观', max: 100},
                {text: '拍照', max: 100},
                {text: '系统', max: 100},
                {text: '性能', max: 100},
                {text: '屏幕', max: 100},
                 {text: '价格', max: 100},
            ],
            nameGap: 6,
            center: ['50%', '50%'],
            radius: 105,
            name: {
                textStyle: {
                    color: '#000',
                    fontSize: 14,
                    fontWeight: 400,
                }
            },
            splitArea: {
                areaStyle: {
                    color: ['none',
                        'none', 'none',
                        'none', 'none'],
                }
            },
            axisLine: {
                lineStyle: {
                    color: '#cde6f5'
                },
            },
            splitLine: {
                lineStyle: {
                    color: '#cde6f5' //网格的颜色
                },
            }
        }
    ],
    series: [
        {
            type: 'radar', //绘制总的图形不设置拐点
            radarIndex: 1,
            data: [
                {
                    value: itemArr ,
                    symbolSize: 7,
                    lineStyle: {
                        width: 2,
                        color: '#29B8FF'
                    },
                    areaStyle: {
                        normal: {
                            opacity: 0.75,
                            color: '#f8f7f7'
                        }
                    }
                }
            ],
            itemStyle: {
                normal: {
                    borderWidth: 0,
                    color: '#000',
                    // show:false
                }
            },
            silent: true,
            z: 1 //图层是一层一层叠加,所以这个也是一级一级递增
        },
        {
            type: 'radar', //绘制第一个点
            radarIndex: 1,
            name: labelArr[0],
            silent: true,
            z: 2, //图层是一层一层叠加,所以这个也是一级一级递增
            data: [
                {
                    value: n1,
                    symbolSize: 7,
                }
            ],
            itemStyle: {
                normal: {
                    borderWidth: 2,
                    color: '#A66CFE'
                }
            },
            lineStyle: {
                width: 0,
                labelLine: {
                    show: false   //隐藏标示线
                }
            }
        },
        {
            type: 'radar',
            radarIndex: 1, //绘制第二个点
            name: labelArr[1],
            silent: true,
            z: 3, //图层是一层一层叠加,所以这个也是一级一级递增
            data: [
                {
                    value: n2,
                    symbolSize: 7,
                }
            ],
            itemStyle: {
                normal: {
                    borderWidth: 2,
                    color: '#FFA662'
                }
            },
            lineStyle: {
                width: 0,
                labelLine: {
                    show: false   //隐藏标示线
                }
            },
            
        },
              {
            type: 'radar', //绘制第三个点
            radarIndex: 1,
            name: labelArr[2],
            silent: true,
            z: 4, //图层是一层一层叠加,所以这个也是一级一级递增
            data: [
                {
                    value: n3,
                    symbolSize: 7,
                }
            ],
            itemStyle: {
                normal: {
                    borderWidth: 2,
                    color: '#5AA4FB'
                }
            },
            lineStyle: {
                width: 0,
                labelLine: {
                    show: false   //隐藏标示线
                }
            },
            
        },
               {
            type: 'radar', //绘制第四个点
            radarIndex: 1,
            name: labelArr[3],
            silent: true,
            z: 5, //图层是一层一层叠加,所以这个也是一级一级递增
            data: [
                {
                    value: n4,
                    symbolSize: 7,
                }
            ],
            itemStyle: {
                normal: {
                    borderWidth: 2,
                    color: '#FF858B'
                }
            },
            lineStyle: {
                width: 0,
                labelLine: {
                    show: false   //隐藏标示线
                }
            },
            
        },
         {
            type: 'radar', //绘制第五个点
            radarIndex: 1,
            name: labelArr[4],
            silent: true,
            z: 6, //图层是一层一层叠加,所以这个也是一级一级递增
            data: [
                {
                    value: n5,
                    symbolSize: 7,
                }
            ],
            itemStyle: {
                normal: {
                    borderWidth: 2,
                    color: '#7AF16F'
                }
            },
            lineStyle: {
                width: 0,
                labelLine: {
                    show: false   //隐藏标示线
                }
            },
            
        },
         {
            type: 'radar', //绘制第六个点
            radarIndex: 1,
            name: labelArr[5],
            silent: true,
            z: 7, //图层是一层一层叠加,所以这个也是一级一级递增
            data: [
                {
                    value: n6,
                    symbolSize:7,
                }
            ],
            itemStyle: {
                normal: {
                    borderWidth: 2,
                    color: '#33A7BF'
                }
            },
            lineStyle: {
                width: 0,
                labelLine: {
                    show: false   //隐藏标示线
                }
            },
            
        },
        {
            type: 'radar', //这个图层是为了盖住圆心,如果去掉,圆心的颜色为最后一个图层的颜色(不信就自己试试)
            radarIndex: 1,
            name: '',
            silent: true,
            z: 8, //图层是一层一层叠加,所以这个也是一级一级递增
            data: [
                {
                    value: n7,
                    symbolSize: 7,
                }
            ],
            itemStyle: {
                normal: {
                    borderWidth: 2,
                    color: '#f8f7f7'
                }
            },
            lineStyle: {
                width: 0,
                labelLine: {
                    show: false   //隐藏标示线
                }
            },
            
        },
    ]
}

上一张图片吧
在这里插入图片描述
为了让大家看的清楚,所以没有进行数据和方法的处理,大家自己进行优化吧
代码注释已经写得很详细了,加班太累,先溜了~

转载需标注!
还请多多指教!

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值