自定义echarts中tooltip显示的内容

2 篇文章 0 订阅
/**
 * echarts中tooltip显示的内容
 * @param {*} params 坐标轴触发获取的源数据
 * @param {*} noPercent 是否带%,true或false
 */
export const chartTooltip = (params, noPercent) => {
  // 判定数据是否为对象或者数组
  if (!(params instanceof Array)) {
    return '请传入正确格式的数组'
  }
  // axisValue是option里的tooltip,name是series里的tooltip
  let tempStr = params[0].axisValue
    ? `${params[0].axisValue}<br/>`
    : `${params[0].name}<br/>`
  params.forEach((val, key) => {
    let tempBgColor = params[key].color
    let tempMarkerHtml = `<span style="display:inline-block;margin-right:5px;border-radius:50%;width:8px;height:8px;background-color:${tempBgColor};color:#ccd3d9;"></span>`
    let tempStrAA = params[key].seriesName
    let tempStrBB = unitConverter(params[key].value)
    if (key < params.length - 1) {
      let tempStrA = noPercent
        ? `${tempMarkerHtml}${tempStrAA}:${tempStrBB}<br/>`
        : `${tempMarkerHtml}${tempStrAA}:${tempStrBB}%<br/>`
      tempStr += tempStrA
    } else {
      let tempStrB = noPercent
        ? `${tempMarkerHtml}${tempStrAA}:${tempStrBB}`
        : `${tempMarkerHtml}${tempStrAA}:${tempStrBB}%`
      tempStr += tempStrB
    }
  })
  return tempStr
}

使用方法:

import { chartTooltip } from '@/config/myUtils'

// option里面
tooltip: {
  formatter (params) {
    return chartTooltip(params)
  }
}

// series里面单个item
series: [{
  name: '0%以下',
  type: 'bar',
  barGap: 0,
  barMaxWidth: '20%',
  data: this.y1Data,
  tooltip: {
    formatter (params) {
      let tempArr = [params]
      return chartTooltip(tempArr)
    }
  }
}]


展示效果如下(样式可自定义)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Vue 自定义 Echartstooltip 需要做以下几个步骤: 1. 安装 Echarts:在终端运行以下命令安装 Echarts: ```bash npm install echarts --save ``` 2. 在需要使用 Echarts 的组件导入 Echarts: ```javascript import echarts from 'echarts' ``` 3. 创建一个 div 元素用于绘制图表: ```html <template> <div id="chart"></div> </template> ``` 4. 在组件的 `mounted` 钩子函数初始化 Echarts 并绘制图表: ```javascript export default { mounted() { this.drawChart() }, methods: { drawChart() { // 获取图表容器元素 const chartContainer = document.getElementById('chart') // 初始化 Echarts 实例 const chart = echarts.init(chartContainer) // 定义图表数据 const data = [...] // 定义自定义 tooltip 的格式化函数 const customTooltipFormatter = params => { const dataIndex = params[0].dataIndex const value = data[dataIndex] return `Value: ${value}` } // 配置图表选项 const options = { tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' }, formatter: customTooltipFormatter }, series: [{ type: 'bar', data: data }] } // 绘制图表 chart.setOption(options) } } } ``` 在上面的代码,我们通过配置 `tooltip` 属性来实现自定义tooltip 样式。其,`formatter` 属性用于定义自定义tooltip 内容格式化函数。 需要注意的是,以上只是一个简单的示例,实际上你可以根据自己的需求进一步定制 tooltip 的样式和内容。 希望能帮到你!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值