前言

这是第一次用makedown编辑器写文章,感觉像一件利器,排版美观而且效率飙升。进入正题

Echart官网文档地址

针对于矩形树图api配置项链接

1. 完全从数据定义图形

$.get( "{% static 'json/rectTreeData.json' %}", function (obama_budget) {
myChart.hideLoading();

//obama_budget数据里面的参数可以决定option里面需要用到的参数,可以直接在后端完整定义这个data,来自定义前端显示的图形形状,pyecharts的实现应该也是这种思路,echarts的api接口不是对所有问题需求都是可以很好满足的,幸好这里图形配置项定义可以直接在从原始数据中操作,前端自定义可以用下面的方式

第一种

obama_budget[4]["itemStyle" ]= {    //
color : '#0000ff',
...
};

第二种

data.children[0].itemStyle = {
color : '#0000ff',
borderColor:'#0000ff'
...
};

后端自定义每个方块颜色可以这样实现

   rectDictnode["name"]=node[0]
rectDictnode["value"]=nodebuf
rectDictnode["absName"]=filedir+node[0]
color=gerColorOfWeight(node[1][0],node[1][3])
color1="rgb("+str(color['red'])+','+str(color['green'])+','+str(color['blue'])+')'
#print(color1)
rectDictnode["itemStyle"]={"color":color1 }

最终形成echarts中需要的格式就可以

 {
value: [1212, 4943, 5453],
absName:'root'
name: 'description of this node',
children: [...]
},

2. 利用Api配置项定义图表

一些常用配置项代码中做注释:

    function isValidNumber(num) {
return num != null && isFinite(num);
}
myChart.setOption(option = {
title: {
left: 'left', //标题显示位置
text: '缺陷分布', //主标题,副标题
subtext: '缺陷密度=缺陷数量/代码行数*1000 \n绿色表示该模块缺陷密度为0,红色越深的模块缺陷密度越大'
},
tooltip: {
formatter: function (info) { //自定义tooltip鼠标浮动提示,返回HTML
var value = info.value; var lines = value[0];
lines = isValidNumber(lines)
? echarts.format.addCommas(lines )
: '-'; var errors = value[1];
errors = isValidNumber(errors)
? echarts.format.addCommas(errors)
: '-'; var warningsOrWeight = value[2];
warningsOrWeight = isValidNumber(warningsOrWeight)
? warningsOrWeight.toFixed(2) + '%'
: '-'; return [
'<div class="tooltip-title">' + echarts.format.encodeHTML(info.name) + '</div>',
'代码行数: &nbsp;&nbsp;' + lines + '<br>',
'缺陷数量: &nbsp;&nbsp;' + errors + '<br>',
'缺陷率: &nbsp;&nbsp;' + warningsOrWeight
].join('');
}
},
series: [{
name: 'root', //这些配置项是对全局属性配置
top: 80,
type: 'treemap', //树形图类型
leafDepth: 1, //一次下钻深度
roam:'false', //不能缩放平移
label: { //显示文字标签定义
show: true,
formatter: "{b}", //定义显示的内容 {b}表示name
normal: {
textStyle: {
ellipsis: true //圆角
}
}
},
itemStyle: {
normal: {
borderColor: 'black' //方块分割边框颜色
}
},

borderWidth, gapWidth, borderColor 的解释

            visualDimension: 2, //指定2『视觉映射』使用的是value数组的第3项
levels: [ //https://blog.csdn.net/dtq007/article/details/87879790 { //钻入矩形树图的顶层
// colorSaturation: [0.1, 0.5], //设置颜色饱和度
color:['#269f3c', '#ca6872','#942e38'], //颜色列表,对于定义每个分块颜色不太理想
colorMappingBy: 'value', //颜色根据value设置
itemStyle: {
normal: {
borderWidth: 2, //方块外边框粗细
borderColor: '#333', //边框颜色
gapWidth: 1 //方块内部边框粗细
}
}
},
{ //钻入矩形树图的第二层
//color: ['#269f3c', '#ca6872','#942e38'],
//colorMappingBy: 'value',
itemStyle: {
normal: {
gapWidth: 1
}
}
},
{ //钻入矩形树图的第三层
//color: ['#269f3c', '#ca6872','#942e38'],
// colorMappingBy: 'value',
itemStyle: {
normal: {
borderWidth: 1, }
}
},
{ //钻入矩形树图的第四层,没有的话就不用写了
//color: ['#269f3c', '#ca6872','#942e38'],
// colorMappingBy: 'value',
itemStyle: {
normal: {
borderWidth: 1, }
}
}
],
data: obama_budget //设置数据来源
}]
});

最终效果,自己定义每个小方块的颜色



也将echarts矩形树图做成了我自已实现的树形图表的样子:

echarts玩转图表之矩形树图的更多相关文章

  1. echarts生成的图表大小怎么随屏幕的大小改变自适应

    最近在做图表,记录一下用到的知识点,当做自己的日记吧,会不断添加新内容 1,echarts生成的图表大小怎么随屏幕的大小改变自适应? this.chart.setOption(this.options ...

  2. echarts实现条形图表

    导入相应的包需要的文件;

  3. 通过百度echarts实现数据图表展示功能

    现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...

  4. 利用Echarts设计一个图表平台(一)

    Echarts是一款百度的开源图表库,里面提供了非常多的图表样式,我们今天要讲的内容是利用这一款开源js图表,制作一个能够动态定制的图表平台. 1)Echarts API介绍 首先我们先来看一下Ech ...

  5. 如何快速使用ECharts绘制可视化图表

    1.在ECharts官网,下载ECharts的源码和示例文件. 2.解压缩下载下来的Echars压缩包,找到doc\example\www\echartsjs目录,将里面的js文件全部取出来,放到项目 ...

  6. vue+echarts 动态绘制图表以及异步加载数据

    前言 背景:vue写的后台管理,需要将表格数据绘制成图表(折线图,柱状图),图表数据都是通过接口请求回来的. 安装 cnpm install echarts --s (我这里用了淘宝镜像,不知道同学自 ...

  7. ECharts导出word 图表模糊失真

    在项目中会有这样的需求,echars生成图表导入到word中 在项目中用的插件 博主有一篇文章将的是  vue使用jquery的三方插件jquery.wordexport.js   https://b ...

  8. Echarts 一个开源图表设计工具

    一般来说,因有所需,方有所求.最近项目中有这方面的需求,用着感觉不错.特此记录!此处仅是一个简单的demo.官网地址:http://echarts.baidu.com/,相关文档.插件都有. 1.js ...

  9. [echarts] - echarts量化比较图表类型解析

    https://echarts.baidu.com/examples/editor.html?c=watermark <!DOCTYPE html> <!--用作两种货品的参数对比- ...

随机推荐

  1. JS---DOM---事件冒泡和阻止事件冒泡,总结事件

    事件冒泡: 多个元素嵌套, 有层次关系 ,这些元素都注册了相同的事件, 如果里面的元素的事件触发了, 外面的元素的该事件自动的触发了     事件有三个阶段: 1.事件捕获阶段  :从外向内 2.事件 ...

  2. 开源WAF工具ModSecurity

    0 前言 ModSecurity是一个开源的跨平台Web应用程序防火墙(WAF)引擎,用于Apache,IIS和Nginx,由Trustwave的SpiderLabs开发.作为WAF产品,ModSec ...

  3. oop面向对象【类与对象、封装、构造方法】

    今日内容 1.面向对象 2.类与对象 3.三大特征——封装 4.构造方法 教学目标 1.能够理解面向对象的思想 2.能够明确类与对象关系 3.能够掌握类的定义格式 4.能够掌握创建对象格式,并访问类中 ...

  4. Sqlite—数据库备份与恢复

    数据库备份 例如:备份 /www/wwwroot 下面的 task.db 数据库 1.进入数据库 [root@localhost ~]# sqlite3 /www/wwwroot/task.db 2. ...

  5. 推荐一种非常好的新版DSP库源码移植方式,含V7,V6和V5的IAR以及MDK5的AC5和AC6版本

    说明: 1.新版CMSIS V5.6里面的DSP库比以前的版本人性化了好多. 2.本帖为大家分享一种源码的添加方式,之前一直是用的库方便,不方便查看源码部分. 3.DSP教程可以还看第1版的,在我们的 ...

  6. ES、kibana安装及交互操作

    一.ES的安装与启动 1.ES安装(Windows环境) 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 版本 ...

  7. arcgis api 4.x for js 结合 Echarts4 实现统计图(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类 ...

  8. swiper手滑导航圆点不同步

    // 滚动图 var mySwiper = new Swiper('.swiper-container', { // 如果需要分页器 pagination: { el: '.swiper-pagina ...

  9. Oracle查看 open_cursors 和 session_cached_cursors

    本文转自 http://blog.itpub.net/25583515/viewspace-2152997/ 查看当前session已使用的最大open cursor数 和cached cursor数 ...

  10. 生产环境Shell脚本Ping监控主机是否存活(多种方法)

    在网上针对shell脚本ping监控主机是否存活的文档很多,但大多都是ping一次就决定了状态,误报率会很高,为了精确判断,ping三次不通再发告警,只要一次ping通则正常.于是,今天中午抽出点时间 ...