当前位置: 首页 > news >正文

echarts有背景的柱状图,鼠标滑过提示信息都是展示背景柱状图的值

// 上一篇文章介绍了如何实现有背景的柱状图,现在又遇到一个问题,鼠标滑过柱子,提示信息是背景柱子的值,解决方案,自定义tooltip的formatter,上代码tooltip: {//鼠标悬浮提示数据formatter: function (param) {// param.seriesIndex 会告诉你是第一个柱状图,用这个来判断你要显示的数值let str = ''if (param.seriesIndex === 1) {str = `<div>${param.name}: ${param.value} 辆</div>`}return str},backgroundColor: 'rgba(0,123,177,0.2)',borderColor: "#030C31",textStyle: {color: '#ffffff',}},//完整代码import React, { useEffect, useRef } from 'react'
import * as echarts from 'echarts'const CarAgeEcharts = (props) => {const chartRef = useRef()console.log(props)useEffect(() => {console.log(props)var salvProName = [];var salvProValue = [];if (props?.info?.length) {salvProName = props?.info[0];salvProValue = props?.info[1];}var salvProMax = [];//背景按最大值let bigNum = 0// props?.info[1].map((res)=>{// })bigNum = Math.max.apply(null, props?.info[1])for (let i = 0; i < salvProValue.length; i++) {salvProMax.push(bigNum)}const options = {grid: {// 左右边距left: 50,bottom: 30,top: 10,},tooltip: {//鼠标悬浮提示数据formatter: function (param) {console.log(param)let str = ''if (param.seriesIndex === 1) {str = `<div>${param.name}: ${param.value} 辆</div>`}return str},backgroundColor: 'rgba(0,123,177,0.2)',borderColor: "#030C31",textStyle: {color: '#ffffff',}},xAxis: {type: 'category',data: props?.info[0],axisTick: {show: false,},axisLabel: {interval: 0}},yAxis: {type: 'value',splitLine: {//分割线配置show: true,lineStyle: {color: "rgba(48,170,219,0.15)",},},axisLabel: {//y轴文字的配置textStyle: {color: "#ffffff",margin: 15,},}},series: [{name: '背景',type: 'bar',barWidth: 20,barGap: '-100%',data: salvProMax,itemStyle: {normal: {color: 'rgba(0, 123, 177, 0.2)',barBorderRadius: 30,}},},{data: props?.info[1],type: 'bar',smooth: true,barWidth: 20,itemStyle: {normal: {barBorderRadius: 10,color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: '#18FFE1'}, {offset: 0.5,color: '#18EBFF'}, {offset: 1,color: '#00A2FF'}]),},},},]};// 创建一个echarts实例,返回echarts实例。不能在单个容器中创建多个echarts实例const chart = echarts.init(chartRef.current)// 设置图表实例的配置项和数据chart.setOption(options)// 组件卸载return () => {// myChart.dispose() 销毁实例。实例销毁后无法再被使用chart.dispose()}}, [props])return (// 把图表封装单独放入一个组件中<div style={{ width: "100%", height: "70%" }} ref={chartRef}></div>)
}
export default CarAgeEcharts
http://www.lryc.cn/news/221504.html

相关文章:

  • 华为防火墙基本原理工作方法总结
  • Spring Cloud之多级缓存
  • 融云荣登「2023 年度 PaaS 企业排行榜」
  • YOLOv8轻量化模型:模型轻量化设计 | 轻量级可重参化EfficientRep| 来自YOLOv6思想
  • 【JavaSE】基础笔记 - 类和对象(下)
  • 浅析刚入门Python初学者的注意事项
  • 2023NOIP A层联测26 总结
  • 响应式编程-Project Reactor Mono 介绍
  • R语言实操记录——导出高清图片(矢量图)
  • Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
  • webgoat-Request Forgeries 请求伪造
  • 【flask跨域问题】解决它
  • 虚幻引擎:如何在工程里面添加插件
  • SpringCloud Alibaba 【四】Openfeign
  • 语音信号的线性预测分析、合成及MATLAB编程设计实现
  • rabbitMQ rascal/amqplib报错 Error: Unexpected close 排查
  • 一文1600字使用Postman搞定各种接口token实战(建议收藏)
  • Vue自定义组件学习笔记
  • 王道p18 第12题假设 A中的 n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素:否则输出-1
  • OpenTiny Vue 3.11.0 发布:增加富文本、ColorPicker等4个新组件,迎来了贡献者大爆发!
  • vivado查看报告和消息5
  • 基于javaweb+mysql的jsp+servlet学生成绩管理系统(管理员、教师、学生)
  • 基于卷积优化算法的无人机航迹规划-附代码
  • 科技云报道:不卷自研大模型,金山办公如何创新生成式AI?
  • 3BHE022291R0101 PCD230A 专注于制造卓越人工智能
  • 小程序 scroll-view 性能问题
  • 【移远QuecPython】EC800M物联网开发板的硬件PWM和PWM输出BUG
  • OverDraw的优化
  • 数据结构—字符串
  • inne所属公司抢注“童年时光”商标仍被冻结