vue中使用echarts树状图自定义鼠标悬停展示详情、高度自适应

1. echart 展示树形结构,如何自定义鼠标悬停的提示信息?

formatterHover(params) {
     return (
          '<span style="padding-left:5px;height:30px;line-height:30px;display: inline-block;">设备类型:' +
          params.data.type_name +
          "</span>" +
          "<br>" +
          '<span style="padding-left:5px;height:30px;line-height:30px;display: inline-block;">位置:' +
          params.data.owner +
          "</span>" +
          "<br>" +
          '<span style="padding-left:5px;height:30px;line-height:30px;display: inline-block;">MAC地址:' +
          params.data.mac +
          "</span>" +
          "<br>" +
          '<span style="padding-left:5px;height:30px;line-height:30px;display: inline-block;">最大连接量:' +
          params.data.max_connections +
          "</span>" +
          "<br>"
        );
}

在使用setOption时调用formatterHover

this.mychartArr[j].setOption({
     title: { text: tit },
        tooltip: {
          trigger: "item",
          triggerOn: "mousemove",
          enterable: true, //鼠标是否可进入提示框浮层中
          formatter: this.formatterHover, //修改鼠标悬停显示的内容
        },
        //系列列表
        series: [
          {}
         ]
})

2. echart树状图节点如何使用本地图片:需要使用require引入图片


symbol: "image://" + require(`../assets/images/${val.unactivate_logo}`);

3.echart树形图高度如何动态适配?

在初始化树时进行高度动态适配

initTree() {
		...
		// 高度适配
           let temp = this.mychartArr[j];
           let container = document.getElementsByClassName("chart")[j];
           this.mychartArr[j].on("click", function (params) {
             if (params.componentType === "series") {
               if (!params.value) {
                 let elesArr = Array.from(
                   new Set(temp._chartsViews[0]._data._graphicEls)
                 );
                 let height = 300;//默认高度
                 let currentHeight = 60 * (elesArr.length - 1) || 100; //动态高度
                 let newHeight = Math.max(currentHeight, height);
                 container.style.height = newHeight + "px";
                 temp.resize();
               }
             }
           });
}

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue使用echarts来画自定义折柱混合图,可以按照以下步骤进行: 1. 安装echartsvue项目安装echarts,可以使用npm命令: ``` npm install echarts --save ``` 2. 引入echarts 在需要使用echarts的组件,引入echarts: ``` import echarts from 'echarts' ``` 3. 定义图表容器 在模板定义一个div容器,用于显示echarts图表: ``` <template> <div id="myChart" style="width: 100%; height: 400px;"></div> </template> ``` 4. 创建图表实例 在组件的mounted生命周期,创建echarts实例并绑定到容器上: ``` mounted() { // 初始化echarts实例 const myChart = echarts.init(document.getElementById('myChart')) // 绑定数据到echarts实例 myChart.setOption({...}) } ``` 5. 设置图表数据 在echarts实例,设置图表相关的数据和配置,如下所示: ``` // 定义x轴和y轴的数据 const xAxisData = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] const yAxisData1 = [120, 200, 150, 80, 70, 110, 130] const yAxisData2 = [200, 180, 160, 100, 90, 120, 140] // 定义折线图和柱状图的配置 const option = { tooltip: { trigger: 'axis', axisPointer: { type: 'cross' } }, grid: { top: '10%', left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis: [ { type: 'category', data: xAxisData, axisPointer: { type: 'shadow' } } ], yAxis: [ { type: 'value', name: 'yAxis1', min: 0, max: 250, interval: 50, axisLabel: { formatter: '{value} ml' } }, { type: 'value', name: 'yAxis2', min: 0, max: 250, interval: 50, axisLabel: { formatter: '{value} ml' } } ], series: [ { name: 'yAxis1', type: 'bar', data: yAxisData1 }, { name: 'yAxis2', type: 'line', yAxisIndex: 1, data: yAxisData2 } ] } // 将配置绑定到echarts实例 myChart.setOption(option) ``` 6. 效果预览 最终的效果如下所示: ![自定义折柱混合图](https://i.loli.net/2021/08/18/8zjvZbLJy7PWGh5.png)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值