【可视化开发】仪表盘的绘制

 不同于可视化开发中常见的饼状图、折线图、柱状图,仪表盘所用的例子相对比较少。当我们遇到需要用仪表盘的形式展示数据的需求时,应该怎么配置ECharts的选项数据呢?

其实实现思路也是大同小异的,我们可以在series一个个配置所需绘制的图形。

绘制最内层

    {
      name: '最内层',
      type: 'gauge',
      startAngle: 190,
      endAngle: -10,
      radius: '94%',
      center: ['50%', '80%'],
      axisLine: {
        lineStyle: {
          color: [[1, '#DCE1E5']],
          width: 1,
        },
      },
      splitLine: {
        show: false,
      },
      anchor: {
        show: false,
        showAbove: false,
      },
      axisTick: {
        show: false,
      },
      axisLabel: {
        show: false,
      },
      pointer: {
        show: false,
      },
      detail: {
        show: false,
      },
      title: {
        show: false,
      },
      data: [
        {
          value: 0,
        },
      ],
    },

绘制最外层 

{
      name: '最外层',
      type: 'gauge',
      startAngle: 190,
      endAngle: -10,
      radius: '125%',
      center: ['50%', '80%'],
      axisLine: {
        lineStyle: {
          color: [[1, '#DCE1E5']],
          width: 2,
        },
      },
      splitLine: {
        show: false,
      },
      anchor: {
        show: false,
        showAbove: false,
      },
      axisTick: {
        show: false,
      },
      axisLabel: {
        show: false,
      },
      pointer: {
        show: false,
      },
      detail: {
        show: false,
      },
      title: {
        show: false,
      },
      data: [
        {
          value: 0,
        },
      ],
    },

 绘制表盘

{
      name: '保护状态',
      type: 'gauge',
      min: 0, // 起始最小刻度值
      max: orgData.max, // 最大刻度值
      startAngle: 190,
      endAngle: -10,
      radius: '110%',
      center: ['50%', '80%'],
      axisLine: {
        lineStyle: {
          width: 18,
          color: [
            [
              orgData.handled / orgData.max,
              new echarts.graphic.LinearGradient(0, 0, 1, 0, [
                {
                  offset: 0.1,
                  color: '#CFE2FF',
                },
                {
                  offset: 1,
                  color: '#2681FF',
                },
              ]),
            ],
            [1, '#F56F63'],
          ],
        },
      },
      pointer: {
        length: '80%',
        itemStyle: {
          color: 'auto',
        },
      },
      axisTick: {
        distance: -25,
        length: 5,
        lineStyle: {
          color: '#DCE1E5',
          width: 1,
        },
      },
      splitLine: {
        distance: -32,
        length: 10,
        lineStyle: {
          color: '#DCE1E5',
          width: 2,
        },
      },
      anchor: {
        show: true,
        showAbove: true,
        size: 18,
        itemStyle: {
          borderWidth: 8,
          color: 'auto',
          borderColor: '#B0D0FF',
        },
      },
      axisLabel: {
        show: false,
        color: '#464646',
        fontSize: 16,
        distance: -20,
        rotate: 'tangential',
        formatter: function (value) {
          if (value < orgData.handled) {
            return '已处理';
          } else {
            return '未处理';
          }
        },
      },
      title: {
        offsetCenter: [0, '-38%'],
        fontSize: 20,
        color: '#555555',
      },
      detail: {
        show: true,
        color: '#464646',
        fontSize: 16,
        offsetCenter: [0, '-20%'],
      },
      data: [
        {
          value: orgData.data || 0,
          name: '已处理问题',
        },
      ],
    },

至此完成上图仪表盘的绘制^-^

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可视化仪表盘模板是一种用于展示数据可视化的界面模板,通常使用HTML、CSS和JavaScript来构建。echarts是一个常用的数据可视化库,具有丰富的图表类型和交互功能。以下是一个基本的可视化仪表盘模板的示例: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>可视化仪表盘</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.css"> <style> #chart-container { width: 800px; height: 600px; margin: 0 auto; } </style> </head> <body> <div id="chart-container"></div> <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script> <script> // 初始化echarts实例 var myChart = echarts.init(document.getElementById('chart-container')); // 定义数据 var data = { categories: ['类别1', '类别2', '类别3'], values: [80, 50, 70] }; // 设置图表配置项 var option = { title: { text: '可视化仪表盘' }, tooltip: {}, xAxis: { data: data.categories }, yAxis: {}, series: [{ name: '数据', type: 'bar', data: data.values }] }; // 渲染图表 myChart.setOption(option); </script> </body> </html> ``` 以上代码使用了CDN引入了echarts库,并在`#chart-container`的div中创建了一个宽800px、高600px的图表容器。通过JavaScript初始化echarts实例,并通过设置配置项和数据,绘制出一个柱状图。这只是一个简单示例,实际应用中可以根据需要自定义配置项、数据源和图表类型,以实现更多的数据可视化效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值