grafana+echarts实现复杂图表可视化

导言

之前尝试用echarts构建了一个基于ClickHouse查询的桑基图:Clickhouse桑基图
基于echarts的图表,可以利用grafana+echarts插件实现快速可视化。

请添加图片描述

快速上手

请添加图片描述

查询与展示这两部分就不用说了,grafana的基操。

这里讲一下echarts代码:

  • 1.echarts插件代码

请添加图片描述

  • 2.随手copy一个echarts示例内的代码

    copy_from:https://echarts.apache.org/examples/zh/editor.html?c=line-smooth

    请添加图片描述

    option = {
      xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      },
      yAxis: {
        type: 'value'
      },
      series: [
        {
          data: [820, 932, 901, 934, 1290, 1330, 1320],
          type: 'line',
          smooth: true
        }
      ]
    };
    
  • 3.grafana实现

    在查询面板构造两个数组

    SELECT ['a','b','c','d'] as x
    
    SELECT [10,20,30,40] as y
    

    grafana内的echarts代码:

    /*x轴数据*/
    const x=data.series[0].fields.find((f)=>f.name==='x').values.buffer[0]; 
    console.log(data.series[0].fields) 
    console.log(x) 
    /*y轴数据*/
    const y=data.series[1].fields.find((f)=>f.name==='y').values.buffer[0];
    console.log(data.series[1].fields) 
    console.log(y) 
    option = {
      xAxis: {
        type: 'category',
        data: x
      },
      yAxis: {
        type: 'value'
      },
      series: [
        {
          data: y,
          type: 'line',
          smooth: true
        }
      ]
    };
    /*option生效*/
    echartsInstance.setOption(option)
    
  • 4.结果展示

请添加图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值