前言

这是第一次用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. 墨者 - X-FORWARDED-FOR注入漏洞实战

    X-FORWARDED-FOR 首先,X-Forwarded-For 是一个 HTTP 扩展头部.HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引 ...

  2. django补充CBV和FBV模式

    django补充CBV和FBV模式FBV模式---函数:经常用的方式CBV模式---类CBV中url连接时函数名后面要接.as_view()class index(views.View): @... ...

  3. swoole如何使php永久运行

    有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的.感谢阅读! 点此加入该群​jq.qq.com soole可以通过开启守护进程使PHP永久运行. 守护进程化.设 ...

  4. vue-element-admin在install的时候关于sass的错误信息

    vue-element-admin在install的是报关于sass的错误信息 今天使用vue-element-admin给自己弄的一个微信小程序编写一个后台管理系统的时候,报关于sass的错误,下载 ...

  5. XNginx升级记录

    之前的博文提到过,XNginx - nginx 集群可视化管理工具, 开发完成后一直稳定运行,直到前面因为一个站点的proxy站点配置问题,导致需要修改nginx 配置文件模板,因此借此机会对系统做了 ...

  6. C# 使用System.Media.SoundPlayer播放wav格式的声音文件

    using System.Media; string szPath = Application.StartupPath + “\\SoundFile\\sound.wav”; SoundPlayer ...

  7. centos安装go环境

    centos安装go环境 1,下载合适的go安装包 https://studygolang.com/dl 2 上传到 centos服务器的 /usr/local下然后解压 3.设置go的环境变量    ...

  8. MSG结构

    MSG是Windows程序中的结构体,用于保存windows消息,定义: typedef struct tagMSG { HWND hwnd; //该消息所属的窗口句柄 UINT message; / ...

  9. ES-映射和分析

    参考: https://es.xiaoleilu.com/052_Mapping_Analysis/00_Intro.html 1. 概念 映射(mapping)机制用于进行字段类型确认,将每个字段匹 ...

  10. java 网站源码 在线编辑模版 代码编辑器 兼容手机平板PC freemaker 静态引擎

    前台: 支持四套模版, 可以在后台切换   系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以 ...