echarts 树图
1 事件:事件绑定,事件命名统一挂载到require('echarts/config').EVENT(非模块化为echarts.config.EVENT)命名空间下,建议使用此命名空间作为事件名引用,当前版本支持事件有:
-----------------------基础事件-----------------------
REFRESH(刷新),
RESTORE(还原),
RESIZE(显示空间变化),
CLICK(点击),
DBLCLICK(双击),
HOVER(悬浮),
MOUSEOUT(鼠标离开数据图形),
2.添加节点
param.data.children.push({
name: '500', // {name: '标注1', value: 100, x: 50, y: 20},
value: 4,
nodeType: thisTreeType,
id: new Date().getTime().toString(), //自定义属性
symbol: 'rectangle', //
color: ["red"], //填充色transparent
itemStyle: {
normal: {
color: ["#20B2AA"], //新增节点的填充样式
label: { //标签
show: true,
hoverLink: false,
interval: 'auto',
position: 'inside', //标签的位置
rotate: 0,
formatter: null,
textStyle: {
color: 'white',
fontSize: 16,
align: "left",
baseline: "bottom"
},
}
}
},
symbolSize: [120, 40],
children: []
})
myChart.refresh()
3.获取数据
myChart.chart.tree.series[0].data
4.例子
var myChart, option;
//加载树
// 路径配置
/* require.config({
paths: {
echarts: 'http://echarts.baidu.com/build/dist'
}
});*/
require.config({
paths: { //文件路径
echarts: './echarts/configChart'
}
});
// Step:4 require echarts and use it in the callback.
// Step:4 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径
require( //所需js
[
'echarts',
'echarts/chart/tree',
],
function(ec) {
// 基于准备好的dom,初始化echarts图表
myChart = ec.init(document.getElementById('main_orgStructure'));
var commonStyle = {}
option = {
title: {
text: 'SCADA'
},
tooltip: {
show: false,
formatter: function(params) { //自定义提示信息
return params.name
}
},
color: [ //节点填充色
"#20B2AA"
],
toolbox: {
show: false,
feature: {
mark: {
show: true
},
dataView: {
show: true,
readOnly: false
},
restore: {
show: true
},
saveAsImage: {
show: true
}
}
},
calculable: false,
series: [{
name: '树图',
type: 'tree',
orient: 'vertical', // vertical horizontal radial//树的方向
rootLocation: {
x: '50%',
y: '50%'
}, // 根节点位置 {x: 'center',y: 10}
nodePadding: 20, //节点间距
layerPadding: 60, //层间距
symbol: 'circle',
roam: true, //可以用鼠标缩放 拖动
//direction: 'inverse', //树反转
itemStyle: {
normal: {
color: '#20B2AA', //节点背景色
label: {
show: true,
position: 'inside',
textStyle: {
color: '#20B2AA',
fontSize: 15,
align: "left"
//fontWeight: 'bolder'
}
},
lineStyle: {
color: '#DB7093',
width: 1,
type: 'broken', // 'curve'|'broken'|'solid'|'dotted'|'dashed'
}
},
emphasis: {
label: {
show: false
}
}
},
data: thisDataArr
}]
};
//缩放等级
var zr = myChart.getZrender();
zr.painter._layers[1].scale = [1, 1, 0, 0]; //前两个为缩放大小,后两个为缩放原点
/////所有的数据
myChart.chart.tree.series[0].data;
、、设置中心点(根节点)
zr.painter._layers[1].position = [10, 10]; //重新定位中心点(根节点)
、、计算树图的宽度
function getTreeWidth(zr) {
var nodes = zr.storage._roots;
var max = 0;
var min = 0;
for(var i = 0; i < nodes.length; i++) {
if(nodes[i].type == 'image' || nodes[i].type == 'icon') {
var nodeX = nodes[i].style.x;
if(nodeX > max) {
max = nodeX;
rightNode = nodes[i];
continue;
}
if(nodeX < min) {
min = nodeX;
}
}
}
return max - min;
}
注:原文地址http://www.jianshu.com/p/1393c3ab7444
echarts 树图的更多相关文章
- ECharts树图节点过多时取消缩放,调整容器高度自适应内容变化
问题现象 使用ECharts树图,在数据维度大,节点过多时,所看到的内容会重叠交错,无法查看. 原因 在给定ECharts树图容器尺寸后,无论数据多么庞大或者稀少,数据始终会尝试在给定容器内撑满.全部 ...
- echarts - 树图实现四个层级
我相信很多人和我一样,制作echats图标时,都会先去demo官网找相同的或者近似的效果,然后再此基础上改进成我们想要的那个. 但是近期混迹某微信群时,我看到一个群友抛出问题说,echarts画树状图 ...
- Echarts树图定制详解
本文讲的是如何定制Echarts的tree图.主要包括下载.全局变量名修改.左键菜单添加.右键菜单添加.内容缩放.文本过滤高亮等. 一 说明 Echarts中提供了tree图,但实际项目中,该tree ...
- echarts - 特殊需求实现方案汇总
五分钟上手echarts echarts中 设置x||y轴文案.提示文字等为固定字数,超出显示"..." 关于echarts下钻功能的一些总结.js echarts - 特殊需求实 ...
- json通过后台获取数据库中的内容,并在前端进行显示
fastjson.jar以及Echarts树图的js文件(需要在servlet对json进行赋值,所以需要用到json的插件) 链接:https://pan.baidu.com/s/1GBbamPNG ...
- ECharts使用心得——矩阵树图
1. 缘起 最近实验室 boss 让用矩形树图做一下研究数据的展示,囧,矩形树图是什么鬼.问了问师兄,说用 R 语言可以实现,让我去研究一下. = =,那这周不是不用干别的了. 刚好最近在研究百度出的 ...
- echarts玩转图表之矩形树图
前言 这是第一次用makedown编辑器写文章,感觉像一件利器,排版美观而且效率飙升.进入正题 Echart官网文档地址 针对于矩形树图api配置项链接 1. 完全从数据定义图形 $.get( &qu ...
- 时隔两个月再写的Echarts(Enterprise Charts,商业级数据图表)一文
简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10 ...
- echarts学习总结
ECharts学习总结使用步骤1 引入ECharts <script src="echarts.min.js"></script>2 绘制一个简单的图表 为 ...
随机推荐
- Linux架构分布式集群之基础篇
部署linux环境,安装jdk 1.安装rar命令行 wget http://www.rarlab.com/rar/rarlinux-x64-4.2.0.tar.gz由于在此目录下解压rar后linu ...
- SQL server 数据库的数据完整性
存储在数据库中的所有数据值均正确的状态.如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性. 详细释义 数据库中的数据是从外界输入的,而数据的输入由于种种原因,会发生输入无效或 错误信息 ...
- 在Linux命令行执行python命令
在Linux的命令行执行python的某些命令: [root@centos7 ~]# echo "import sys ;print(sys.path)"|python3.6 [' ...
- lampp中的ftp使用介绍
搭建完毕lampp 具体要求如下:使用Lampp的proftpd,开通多个FTP用户,并各分配一个目录,而且需要限制用户在自己的目录里面,可以自由读写. 操作步骤:第一步:设置ftp用户组,输入命令: ...
- 高级php面试题转载
在网上看到一些高级php 的面试题目.. 最近接连面试了几家公司,有些重要问题记录一下,督促自己学习提高,同时希望给朋友们一些帮助.内容很多,一点点完善,一步步学习..有些是面试被问,有些是招聘要求, ...
- zookeeper超时:Unable to connect to zookeeper server within timeout: 5000
解决措施: 1:检查 提供方和消费方的address是否正确 <dubbo:application name="dubboxdemo-servive"/> <du ...
- Linux 实现与宿主机共享文件夹 Centos7
(选用的系统 centos7) 01,添加共享目录,右键虚拟机 => 设置 => 选项 => 共享文件夹(只有在虚拟机为关机状态才能添加) 02,开机,查看当前虚拟机的共享目录 =& ...
- Redis 发布与订阅模式
subscribe 订阅 publish 发布 频道 发布内容
- C# 类库调试 启动外部程序无法调试
无法调试进程 test.exe [17936] 中的某些代码.请参阅下面的状态信息. IntelliTrace 代码失败(0x80131534). Managed (v4.6.v4.5.v4.0 ...
- 【JEECG技术文档】Jeecg高级查询器
1. 背景 对于用户来讲查询功能按易用性分三个层次: 1)最简单查询操作是一个输入框,全文检索,如百度,后台实现技术使用搜索引擎,需要设计和建立索引,技术较为复杂,适用于文档和信息数据库检索,但是结果 ...