G2自定义Tooltip

G2自定义Tooltip

<div id="interfaceChart" class="interface-chart-main"></div>
import G2 from '@antv/g2'
import DataSet from '@antv/data-set'

let chart = new G2.Chart({
  container: 'interfaceChart',
  forceFit: true,
  height: 300
})
	
let data = [{
     methodName: 'getUserInfo',
     callCount: 38,
     failRate: 0,
     overTimeCount: 0
   }, {
     methodName: 'getSystemInfo',
     callCount: 52,
     failRate: 0,
     overTimeCount: 0
   }, {
     methodName: 'getTime',
     callCount: 61,
     failRate: 0,
     overTimeCount: 0
   }]
   
 const dataSet = new DataSet()
 const dv = dataSet.createView().source(data)
 dv.transform({
   type: 'fold',
   fields: ['callCount'], // 展开字段集
   key: 'key', // key字段
   value: 'value' // value字段
 })
 
 chart.source(dv, {
   methodName: {
     type: 'cat'
   }
 })

chart.tooltip({
  crosshairs: 'y',
  htmlContent: function htmlContent(title, items) {
    let selfItem = items[0]
    let html = '<div class="g2-tooltip">'
    let titleDom = `<div class="g2-tooltip-title" style="margin-bottom: 4px;">${title}</div>`
    let sumDom = `<div>
                调用量:${selfItem.value}
              </div>
              <div>
                失败率:${selfItem.failRate}%
              </div>
              <div>
                超时次数:${selfItem.overTimeCount}
              </div>
              `
    return html + titleDom + sumDom + '</div>'
  }
})

chart.scale('value', {
  alias: '调用量'
})
chart.axis('value', {
  label: {
    offset: [-10, 10]
  },
  title: {
    textStyle: {
      fontSize: 12, // 文本大小
    }
  },
})

chart.interval().tooltip('methodName*value*failRate*overTimeCount', (methodName, value, failRate, overTimeCount) => {
  return {
    methodName,
    value,
    failRate,
    overTimeCount
  }
}).position('methodName*value').size(20)

chart.render()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值