雷达图自定义各点颜色

methods:{
    transform:function(e){
      switch (e){
          case  '风速':return 'windspeed';
          case  '风向':return 'winddirection';
          case  '温度':return 'temperature';
          case  '湿度':return 'humidity';
          case  '气压':return 'pressure';
      }
    },
    initChart: function () {
        this.myChart = echarts.init(document.getElementById('roseChart'))
        var itemArr = [vthis.cdata.windspeed, vthis.cdata.winddirection, vthis.cdata.temperature, vthis.cdata.humidity, vthis.cdata.pressure];   //数据数组
        var n1 = [vthis.cdata.windspeed, 100000, 100000, 100000, 100000, 100000]//风速
        var n2 = [100000, vthis.cdata.winddirection, 100000, 100000, 100000, 100000]//风向
        var n3 = [100000, 100000, vthis.cdata.temperature, 100000, 100000, 100000]//温度
        var n4 = [100000, 100000, 100000, vthis.cdata.humidity, 100000, 100000]//湿度
        var n5 = [100000, 100000, 100000, 100000, vthis.cdata.pressure, 100000]//气压
        // var n7 = [100000, 100000, 100000, 100000, 100000, 100000]
        var labelArr = ['风速', '风向', '温度', '湿度', '气压'] //显示图例用
        this.option  = {
            legend: {
                orient: 'horizontal',
                align:'auto',
                // left: '400px',
                bottom: '0',
                icon: 'square',
                data: labelArr,
                textStyle: {
                    color: '#fff'
                }
            },
            tooltip: {
                trigger: 'axis'
            },
            radar: [
                {
                    splitLine: {
                        lineStyle: {
                            color: '#000'
                        }
                    }
                },
                {
                    indicator: [
                        { name: '风速', max: 50,color:'#fff'},
                        { name: '风向', max: 360,color:'#fff' },
                        { name: '温度', max: 50,color:'#fff' },
                        { name: '湿度', max: 100,color:'#fff' },
                        { name: '气压', max: 1100,color:'#fff' }
                    ],
                    splitNumber: 4,
                    nameGap: 6,
                    center: ['50%', '50%'],
                    top:0,
                    radius: '80%',
                    name: {
                        textStyle: {
                            color: '#000',
                            fontSize: 14,
                            fontWeight: 400,
                        }
                    },
                    splitArea: {
                        areaStyle: {
                            color: ['#071a48'],
                            shadowColor: 'rgba(0, 0, 0, 0.2)',
                            shadowBlur: 10
                        }
                    },
                    axisLine: {
                        show: false, //雷达图中心发出的射线:坐标轴轴线相关设置
                    },
                    splitLine: {
                        lineStyle: {
                            color: '#273763' //网格的颜色
                        },
                    }
                }
            ],
            series: [
                {
                    type: 'radar', //绘制总的图形不设置拐点
                    radarIndex: 1,
                    tooltip: {
                        trigger: 'item'
                    },
                    data: [
                        {
                            value: itemArr,
                            symbolSize: 7,
                            lineStyle: {
                                width: 2,
                                color: '#29B8FF'
                            },
                            areaStyle: {
                                color: ['#0f297f'],
                                shadowColor: 'rgba(15, 41, 127, 0.6)',
                                shadowBlur: 10
                            }
                        }
                    ],
                    itemStyle: {
                        normal: {
                            borderWidth: 0,
                            color: '#000',
                            // show:false
                        }
                    },
                    silent: true,
                    z: 1 //图层是一层一层叠加,所以这个也是一级一级递增
                },
                {
                    type: 'radar', //绘制第一个点
                    radarIndex: 1,
                    name: labelArr[0],
                    silent: true,
                    tooltip: {
                        trigger: 'item'
                    },
                    z: 2, //图层是一层一层叠加,所以这个也是一级一级递增
                    data: [
                        {
                            value: n1,
                            symbolSize: 7,
                        }
                    ],
                    itemStyle: {
                        normal: {
                            borderWidth: 2,
                            color: '#19c1c3'
                        }
                    },
                    lineStyle: {
                        width: 0,
                        labelLine: {
                            show: false   //隐藏标示线
                        }
                    }
                },
                {
                    type: 'radar',
                    radarIndex: 1, //绘制第二个点
                    name: labelArr[1],
                    silent: true,
                    tooltip: {
                        trigger: 'item'
                    },
                    z: 3, //图层是一层一层叠加,所以这个也是一级一级递增
                    data: [
                        {
                            value: n2,
                            symbolSize: 7,
                        }
                    ],
                    itemStyle: {
                        normal: {
                            borderWidth: 2,
                            color: '#3c4b70'
                        }
                    },
                    lineStyle: {
                        width: 0,
                        labelLine: {
                            show: false   //隐藏标示线
                        }
                    },
    
                },
                {
                    type: 'radar', //绘制第三个点
                    radarIndex: 1,
                    name: labelArr[2],
                    silent: true,
                    tooltip: {
                        trigger: 'item'
                    },
                    z: 4, //图层是一层一层叠加,所以这个也是一级一级递增
                    data: [
                        {
                            value: n3,
                            symbolSize: 7,
                        }
                    ],
                    itemStyle: {
                        normal: {
                            borderWidth: 2,
                            color: '#2c94ff'
                        }
                    },
                    lineStyle: {
                        width: 0,
                        labelLine: {
                            show: false   //隐藏标示线
                        }
                    },
    
                },
                {
                    type: 'radar', //绘制第四个点
                    radarIndex: 1,
                    name: labelArr[3],
                    silent: true,
                    tooltip: {
                        trigger: 'item'
                    },
                    z: 5, //图层是一层一层叠加,所以这个也是一级一级递增
                    data: [
                        {
                            value: n4,
                            symbolSize: 7,
                        }
                    ],
                    itemStyle: {
                        normal: {
                            borderWidth: 2,
                            color: '#d85792'
                        }
                    },
                    lineStyle: {
                        width: 0,
                        labelLine: {
                            show: false   //隐藏标示线
                        }
                    },
    
                },
                {
                    type: 'radar', //绘制第五个点
                    radarIndex: 1,
                    name: labelArr[4],
                    silent: true,
                    tooltip: {
                        trigger: 'item'
                    },
                    z: 6, //图层是一层一层叠加,所以这个也是一级一级递增
                    data: [
                        {
                            value: n5,
                            symbolSize: 7,
                        }
                    ],
                    itemStyle: {
                        normal: {
                            borderWidth: 2,
                            color: '#5d4fff'
                        }
                    },
                    lineStyle: {
                        width: 0,
                        labelLine: {
                            show: false   //隐藏标示线
                        }
                    },
    
                },
            ],
        }
        this.myChart.on('legendselectchanged',function (e){
            for(let key in e.selected){
                let param = vthis.transform(key)
                if(e.selected[key]===false){
                    vthis.cdata[param]=0
                }else{
                    vthis.cdata[param]=vthis.cdata1[param]
                }
            }
        })
        this.myChart.setOption(this.option);
    },
},
watch:{
        cdata:{//这里监听重绘图与mychart中监听‘legendselectchanged'合用让点击legend的时候图表第一层与对应legend点击选择层的数据显示一致
            handler(o,n){
                this.initChart()
            },
            deep:true
        }
    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pyecharts是一个基于Python的数据可视化库,可以用来创建各种类型的图表,包括雷达图雷达图也被称为蜘蛛图或星型图,它可以用来展示多个维度的数据。 要创建自定义雷达图,首先需要安装pyecharts库。可以使用以下命令进行安装: ``` pip install pyecharts ``` 接下来,可以使用以下代码创建一个简单的雷达图: ```python from pyecharts import options as opts from pyecharts.charts import Radar # 定义维度和数据 dimensions = [ {"name": "维度1", "max": 100}, {"name": "维度2", "max": 100}, {"name": "维度3", "max": 100}, {"name": "维度4", "max": 100}, {"name": "维度5", "max": 100}, ] data = [[90, 80, 70, 60, 50]] # 创建雷达图对象 radar = ( Radar() .set_global_opts(title_opts=opts.TitleOpts(title="自定义雷达图")) .add_schema(schema=dimensions) .add("数据", data) ) # 生成HTML文件并打开 radar.render("radar.html") ``` 在上面的代码中,我们首先定义了维度和数据。维度是一个包含名称和最大值的字典列表,用于定义雷达图的每个维度。数据是一个包含数值的二维列表,表示每个维度的具体数值。 然后,我们创建了一个Radar对象,并使用`set_global_opts`方法设置雷达图的标题。接着,使用`add_schema`方法添加了维度信息,使用`add`方法添加了数据。 最后,使用`render`方法将雷达图生成为HTML文件,并可以在浏览器中打开查看。 这只是一个简单的示例,你可以根据自己的需求进行更多的自定义,例如设置颜色、添加标记点等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值