图表绘制之RepeatNode的妙用

前言

最近接到许多大屏项目,其中有一个智慧大楼的项目,大致是由3d场景+数据图表组成,需要能监控实时数据、安防

监控、出入统计以及消防安全等功能如下图



但是在开发项目的时候碰到一个难题,设计稿中有一个图表类的模块,如下图。是一个由多个递增的矩形拼接而成的类似柱状图的进度条,来表示当前车位占用率的图表。

使用echarts的问题

拿到这个设计稿时,第一反应是用大家常用的Echarts来绘制这种图表,于是在chart的社区各种找已经做好的案例。经过一番搜索,找到了一个最接近的案例(链接:https://www.makeapie.com/editor.html?c=xkXD_yRDOy)大致研究了一会它的实现方式



利用两条柱状图叠到一起做为数据的真实值和背景,在加上repeat后象形柱状图作为辅助值来达到如上图的效果。



众所周知Echarts的配置项非常之多,使用麻烦且学习成本高,而且设计稿中的矩形不光有repeat还有递增的效果,这可咋办呢?

思考

看到这个只有Repeat,没有递增效果的echarts配置后(ps:也可能有其他配置或方法能实现,可以在下面留言一下,多多交流,学习学习),突然灵光一闪,想起咱编辑器里面正有一个repeatNode的组件,稍加修改就可以简单的实现这种递增的repeat效果了。

体验RepeatNode

想到就做,立马打开编辑器,拉一个repeatNode先用用看。RepeatNode的使用方法也非常简单,在组件的模型一栏里面,直接拖到画布上就得到一个repeat区域



然后在基础形状中拖一个矩形网元到画布上,调整好宽高后拖入之前的repeatNode区域,

最后在repeatNode上配置repeat的次数和间距就好啦





以上就是repeatNode的简单用法,根据这个思路,只需要在代码中,重复的绘制矩形的时候,绘制逐渐递增高度的矩形就可以实现递增的repeatNode了!

给RepeatNode加点料

于是找到repeatNode的绘制逻辑,在绘制中加入下面的一段代码



接下来让我们在编辑器中使用来看看。勾选上启用高度递增,对齐方式调整为下对齐,起始高度设为60,递增高度改为25,大功告成



如此简单的就解决了设计稿中的难题。

效果图展示

下面贴上项目中的效果,供大家参考。





如果对可视化感兴趣,可以和我交流,微信541002349. 另外关注公众号“ITMan彪叔” 可以及时收到更多有价值的文章。

图表绘制之RepeatNode的妙用的更多相关文章

  1. 让IE8支持HTML5及canvas功能!chart.js图表绘制工具库IE8上兼容方案

    第一步,我们加上对html5的支持. <!--[if IE]> <script src="/public/html5.js" type="text/ja ...

  2. Android实现图表绘制和展示

    本文演示在Android平台中绘制和展示图表示例,本示例是基于RChart 2实现的. 在一个系统中经常要用到图表统计数据,在WEB开发中图表绘制是一件简单的事情,因为有比较多的开源方案.但在Andr ...

  3. Android学习之 AChartEngine 图表绘制

    Android 开源图表绘制工具AChartEngine地址:http://code.google.com/p/achartengine/ AChartEngine Android实现图表绘制和展示( ...

  4. QtCharts模块在QtWideget中图表绘制(非QML)

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QtCharts模块在QtWideget中图表绘制(非QML)     本文地址:http:/ ...

  5. AChartEngine 图表绘制

    AChartEngine Android 平台的图表开发库, 能绘制 折线图, 饼图, 气泡图, 柱状图, 散点图, 面积图等统计图表. 这些我记录一下,柱状图.折线图和饼状图的小例子.有兴趣的朋友, ...

  6. Android 图表绘制 achartengine 示例解析

    一. AChartEngine 简介 1. 项目地址 AChartEngine 简介 : AChartEngine 是 Android 平台的图表开发库, 能绘制 折线图, 饼图, 气泡图, 柱状图, ...

  7. Python图表绘制:matplotlib绘图库入门

    matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...

  8. Web前端图表绘制JQuery插件jqplot

    在此之前使用了Chart.js.Highcharts,首先了解一下这两款插件的优势与不足,然后再来了解jqplot. 1.Chart Chart中文官网:http://chartjs.cn/ 1.1优 ...

  9. 如何从零绘制k线图 -- 原生js canvas图表绘制

    样式如下图 源码地址: https://github.com/sutianbinde/charts 编写这个需要具备canvas基础,如果没有canvas基础可以学习我前面的cnavas基础博客. 具 ...

  10. 【Android 应用开发】Android 图表绘制 achartengine 示例解析

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38420197 一. AChartEngine 简介 1. 项 ...

随机推荐

  1. C 语言编程 — 高级数据类型 — void 类型

    目录 文章目录 目录 前文列表 void 类型 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本数据类型> & ...

  2. 制作SSL证书(签发免费证书)

    制作SSL证书(签发免费证书) 下载证书生成器 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 wget https://pkg.cfssl.org ...

  3. Android 12(S) MultiMedia Learning(八)NuPlayer Renderer

    NuPlayer的AVSync由Renderer实现,接下来主要来看AVSync的工作原理 相关代码位置: NuPlayerRenderer.cpp - OpenGrok cross referenc ...

  4. 微软的文本转语音服务Microsoft.CognitiveServices.Speech

    微软的Edge 浏览器里的大声朗读里-"晓晓" 很接近自然人,比起其它平台的强很多. 在AZURE 可免费体验,每月限额50万字,每个语音转换不超过10分钟长度. C# 调用: u ...

  5. Visual Studio 智能代码插件:CodeGeeX

    前言 在软件开发领域,高效的编程助手一直是提升开发者效率和质量的关键.随着人工智能技术的不断发展,智能编程助手逐渐成为开发者们不可或缺的工具.其中,CodeGeeX作为一款专为Visual Studi ...

  6. 安装centos7模板机[lvm版]

    1. 安装centos 7模板机 准备好centos7的镜像 下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/ 安装centos 自定义硬件: ...

  7. 「C++」深度分析C++中i++与++i的区别

    大家好,我是Charzie.在C++编程中,i++和++i是两个常见的自增运算符,用于将变量的值增加1(有时与i+=1效果一样).然而,虽然它们的功能看似相似,但在实际使用中却存在显著的区别.本博客将 ...

  8. 机器学习策略篇:详解如何改善你的模型的表现(Improving your model performance)

    如何改善模型的表现 学过正交化,如何设立开发集和测试集,用人类水平错误率来估计贝叶斯错误率以及如何估计可避免偏差和方差.现在把它们全部组合起来写成一套指导方针,如何提高学习算法性能的指导方针. 所以想 ...

  9. switch的穿透

      // switch 的 穿透         // 什么是switch的穿透         // 如果在 switch 中没有定义break , switch 会从定位的程序,一直执行到所有sw ...

  10. springboot项目中一些小技巧

    一.使用命令创建maven工程 1.例如我们想在IDEA的工作空间目录下E:\Gitee\springboot,创建maven项目,首先先进入该目录下 2.去掉原来的目录,输入cmd,然后回车,进入命 ...