echarts 树形图

用echarts 实现树形图,图节点为矩形,线为直线,节点可以点击并实现跳转页面。

<!DOCTYPE html>
<html>
<body>
<div>
<div id="chart" style="width: 80%;height: 700px;"></div>
</div>
</body>
</html>

 $(function () {
        var chartDom = document.getElementById('chart');
        var myChart = echarts.init(chartDom);
        const data = {
		  name: 'flare',
		  children: [
		    {
		      name: 'data',
		      itemStyle: { color: "#d59c66" },
		      children: [
		        {
		          name: 'converters',
		          url: 'a.html'
		        },
		        {
		          name: 'DataUtil',
		          value: 3322
		        }
		      ]
		    },
		
		    {
		      name: 'query',
		     
		    },
		    {
		      name: 'scale',
		    }
		  ]
		};
        var option;
         option = {
            tooltip: {
                trigger: 'item',
                triggerOn: 'mousemove'
            },
            series: [
                {
                    type: 'tree',
                    id: 0,
                    name: 'tree1',
                    data: [data],
                    top: '3%',
                    left: '8%',
                    bottom: '3%',
                    right: '8%',
                    symbol: 'circle',
                    symbolSize: function () {  // 节点的形状大小 ,[180, 28] 180为宽,28为高
                        var value = arguments[0];
                        console.log('arguments',arguments)
                        var params = arguments[1];
                        return [params.name.length * 20, 35];
                        // return [180, 28];
                    },
                    symbolKeepAspect: true,
                    edgeShape: 'polyline', // 从 v4.7.0 开始支持,curve为曲线 , polyline 为直线
                    edgeForkPosition: '63%',
                    lineStyle: {
                        width: 2
                    },

                    label: {
                        position: 'inside', //标签文本位置设置
                        align: 'center',
                        color: 'white'
                    },
                    initialTreeDepth: -1, //初始默认展开全部层级
                    leaves: {
                        label: {
                            position: 'inside',
                            verticalAlign: 'middle',
                            align: 'center'
                        }
                    }, //设置叶子节点文本标签位置
                    expandAndCollapse: 'false', //禁止折叠交互

                    animationDuration: 550,
                    animationDurationUpdate: 750
                }
            ]
        };

        option && myChart.setOption(option);
        myChart.on("click", treeNodeclick);
    })
        // 节点点击事件
    function  treeNodeclick(param){
        console.log('param',param.data)
        /* true 代表点击的是圆点
           fasle 表示点击的是当前节点的文本
        */
        if(param.data.url) {
            goPage(param.data.parentName,param.data.url) // 跳转页面方法
        }

    }

示例效果:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值