下面的代码是使用Echart的treemap的示例,我希望每个系列按垂直顺序排列,然后连接到每个系列,再根据数据进行调整大小。
在这个示例中,每个系列将按其大小随机排列。
https://echarts.apache.org/examples/an/editor.html?c=treemap-disk
myChart.showLoading(); $.get(ROOT_PATH + '/data/asset/data/disk.tree.json', function (diskData) { myChart.hideLoading(); const formatUtil = echarts.format; function getLevelOption() { return [ { itemStyle: { borderWidth: 0, gapWidth: 5 } }, { itemStyle: { gapWidth: 1 } }, { colorSaturation: [0.35, 0.5], itemStyle: { gapWidth: 1, borderColorSaturation: 0.6 } } ]; } myChart.setOption( (option = { title: { text: '磁盘使用情况', left: 'center' }, tooltip: { formatter: function (info) { var value = info.value; var treePathInfo = info.treePathInfo; var treePath = []; for (var i = 1; i < treePathInfo.length; i++) { treePath.push(treePathInfo[i].name); } return [ '<div class="tooltip-title">' + formatUtil.encodeHTML(treePath.join('/')) + '</div>', '磁盘使用情况: ' + formatUtil.addCommas(value) + ' KB' ].join(''); } }, series: [ { name: '磁盘使用情况', type: 'treemap', visibleMin: 300, label: { show: true, formatter: '{b}' }, itemStyle: { borderColor: '#fff' }, levels: getLevelOption(), data: diskData } ] }) ); });
这是我期望的结果。 在此输入图像描述
据我所知,目前似乎不可能。您可以通过
squareRatio
属性来影响区域的形状,但我无法垂直对齐。如果您不需要平移和缩放,您可以为每个类别放置一个树图,并相应地调整位置(例如:
left: '20%'
)和大小(例如:width: '25%'
)。这里是一个示例: