echart的几款关系图差别
时间: 2023-11-14 20:52:10 浏览: 48
ECharts提供了多种类型的关系图,包括力导向图、桑基图、思维导图等,它们的主要区别如下:
1. 力导向图(graph):根据节点之间的连线关系展示节点之间的关系,可以通过节点的大小、颜色、形状等属性来展示节点的重要程度。
2. 桑基图(sankey):用于展示物流、财务等领域中的流程关系,可以清晰地展示物流过程中的流量、流向、瓶颈等信息。
3. 树图(tree):用于展示层级结构,可以清晰地展示父子节点之间的关系,适用于组织架构图、目录结构图等。
4. 旭日图(sunburst):用于展示层级结构,可以清晰地展示父子节点之间的关系,同时可以通过不同颜色的扇形区域来展示节点的重要程度。
5. 矩形树图(treemap):用于展示层级结构,可以将节点展示为矩形区域,同时可以通过不同颜色的矩形区域来展示节点的重要程度。
6. 思维导图(mindmap):用于展示思维导图,可以清晰地展示主题、分支、子分支等信息。
以上几款关系图各有特点,具体选择哪一款应该根据具体需求来进行选择。
相关问题
echart 相似关系图
ECharts(Enterprise Charts)是一个基于JavaScript的开源可视化图表库,它支持多种类型的图表,包括折线图、柱状图、散点图、饼图等。在ECharts中,相似关系图也是一种非常常见的图表类型,它可以展示不同节点之间的相似度或关联度。
相似关系图通常采用力导向布局,可以通过节点之间的连线、线的粗细、线的颜色等来表现不同节点之间的相似度或关联度。在ECharts中,可以使用series-type为“graph”的配置项来创建相似关系图。例如,以下代码可以创建一个简单的相似关系图:
```
option = {
series: [{
type: 'graph',
layout: 'force',
symbolSize: 50,
edgeSymbol: ['circle', 'arrow'],
edgeSymbolSize: [4, 10],
edgeLabel: {
fontSize: 20
},
data: [{
name: '节点1',
x: 100,
y: 100
}, {
name: '节点2',
x: 300,
y: 100
}, {
name: '节点3',
x: 200,
y: 300
}],
links: [{
source: '节点1',
target: '节点2',
symbolSize: [5, 20],
label: {
show: true
},
lineStyle: {
width: 5,
curveness: 0.2
}
}, {
source: '节点2',
target: '节点3'
}]
}]
};
```
在上面的代码中,使用了“graph”类型的系列来创建相似关系图。其中,data数组表示节点的信息,links数组表示节点之间的关系。通过配置项可以控制节点之间的连线、节点的大小、节点的颜色等。
echart关系图首次加载结点闪烁
echarts 的关系图在首次加载时,因为需要渲染大量的节点和连线,会导致页面加载速度变慢、结点会闪烁等问题。这个问题可能是由于浏览器渲染引擎的性能问题导致的。
为了解决这个问题,我们可以使用 echarts 中提供的 `loading` 动画,或者在加载数据前给 echarts 容器设置一个遮罩层,避免用户看到闪烁的节点。
具体做法如下:
1.使用 `loading` 动画
在 echarts 实例中,加入以下代码即可:
```javascript
myChart.showLoading({
text: '正在加载中...', // loading 动画的提示文本
color: '#c23531', // 颜色
textColor: '#000', // 文字颜色
maskColor: 'rgba(255, 255, 255, 0.8)', // 遮罩层颜色
zlevel: 0 // loading 层叠级别
});
// 数据加载完成后,隐藏 loading 动画
myChart.hideLoading();
```
2.设置遮罩层
在 echarts 容器中添加一个遮罩层,代码如下:
```javascript
// 获取 echarts 容器
var echartContainer = document.getElementById('echart-container');
// 添加遮罩层
var mask = document.createElement('div');
mask.style.width = echartContainer.clientWidth + 'px';
mask.style.height = echartContainer.clientHeight + 'px';
mask.style.position = 'absolute';
mask.style.top = '0';
mask.style.left = '0';
mask.style.zIndex = 9999;
mask.style.backgroundColor = '#fff';
mask.style.opacity = 1;
echartContainer.appendChild(mask);
// 数据加载完成后,隐藏遮罩层
mask.style.display = 'none';
```
以上两种方法可以有效避免首次加载节点闪烁的问题。