图表绘制之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. Python基础篇(数据类型)

    str(字符串) Python中最常用的数据类型就是字符串,其用途也很多,我们可以使用单引号 ''或者双引号""来创建字符串.字符串是不可修改的.关于字符我们从 创建.索引.切片. ...

  2. 高效运维_AIRIOT智慧电力运维解决方案

    可再生能源的引入带来了能源生产的去中心化和分散化趋势,同时也带来了能源输出的波动性和不确定性.电力运维因此需要更加灵活.智能的解决方案,以适应可再生能源的集成,确保电力系统的稳定运行,传统的电力运维管 ...

  3. mongodb的replication与shard分片结合使用详解

    部署脚本 #!/bin/bash #复制集配置 IP='10.0.0.12' #主机ip NA='rs3' #复制集名称 if [ "$1" = "reset" ...

  4. 用STM32F4的DMA实现高速、实时的同步并行通信——以读取高速ADC为例[原创www.cnblogs.com/helesheng]

    大概6-7年前,在网上看到过一篇用STM32F1的DMA控制GPIO输出高速数字波形的帖子.觉得很有意思,就自己试了试:控制GPIO输出波形翻转的速度最高只能达到3-4MHz,且容易受到STM32F1 ...

  5. 未能加载文件或程序集“UFIDA.U8.UAP.GcRegister, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项

    这是做采购入库单新增的时候遇到的问题,我是采用模仿写用友u8的zpurrkdhead 主表视图和子表视图zpurrkdtail 去构建 xml文档这样做的,但是再做的时候 [cgcroutecode] ...

  6. Java中编译异常与运行异常的区别

    编译期异常和运行期异常的区别 编译期异常和运行期异常的区别如下 异常处理要求不同:编译期异常(也称为检测异常checked Exception)要求在代码中显式地处理(使用try-catch或者thr ...

  7. LeetCode 72. Edit Distance 编辑距离 (C++/Java)

    题目: Given two words word1 and word2, find the minimum number of operations required to convert word1 ...

  8. Vue学习:21.mixins混入

    在Vue中,mixins(混入)是一种用于分发Vue组件中可复用功能的灵活机制.它们允许你抽取组件中的共享功能,如数据.计算属性.方法.生命周期钩子等,并将其作为单独的模块复用到多个组件中.这种方式有 ...

  9. 项目管理--PMBOK 读书笔记(9)【项目资源管理】

    1.团队成员的角色与职责: 1)层级结构(OBS):与 WBS 交叉确认部门的全部项目指责,项目组织结构图: 2)矩阵结构(RAM):工作包(活动)与项目团队的关系,主要用于明确角色与期望(职责) 3 ...

  10. 使用spark-sql处理Doris大表关联

    背景 最近项目上有一个需求,需要将两张表(A表和B表)的数据进行关联并回写入其中一张表(A表),两张表都是分区表,但是关联条件不包括分区字段. 分析过程 方案一 最朴素的想法,直接关联执行,全表关联, ...