热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端折线图中背景_前端可视化开发(三)基础元素

基础元素(图元)范围在第一篇中我们通过思维导图也简单介绍了图元的范围。基础图形-点线面基础图表-echarts[折线图,饼图,
028ebdc50cd964c2f2244558ddf044f5.png
f091b7815335559e3ce1b932c52631e2.png

基础元素(图元)

范围

在第一篇中我们通过思维导图也简单介绍了图元的范围。

  • 基础图形 - 点线面
  • 基础图表 - echarts[折线图,饼图,柱状图,地图,散点图...]
  • 媒体 - 视频,直播视频
  • 表格
  • 3d图形
  • 行业组件
  • ...

配置项

样式配置项

可以通过样式配置项,配置图元的基础样式属性,如下:

f9c9f6e34e255e8a48a037288859366c.png

数据配置项 可以通过数据配置项,配置图元的数据,这里有个数据源的概念。 数据源指的就是获取数据的方式,可以通过以下的方式:

  1. 静态的编辑器书写,
  2. 可以通过api,
  3. 可以通过sql,
  4. ...
f22e092a9d1ffb504d4aedcc3002af4c.png

图元属性

  • 位置 - top,left
  • 大小 - width,height
  • 角度 - angle
  • 名称 - partName
  • id - partId
  • 图层 - layer
  • 身份标示 - partType

基本就是以上的信息我们重新梳理一下(x指left,y指top):

class Part {/*** 图形元素的名称*/public partName: string = '';
​/*** 图形元素的id*/public partId: string = '';
​/*** 图形的类型,比如part,component, template*/public partType: string = '';
​/*** 第一级表示标识*/public sourceType: string = '';
​/*** 第二级表示标识*/public type: string = '';
​/*** 第三级表示标识*/public childType: string = '';
​/*** 图形元素的图层*/public layer: number = 0;/*** 基本的样式*/public partStyle: PartStyle;
}

class PartStyle {/*** 图形元素的x坐标*/public x: number;
​/*** 图形元素的y坐标*/public y: number;
​/*** 图形元素的宽度*/public width: number;
​/*** 图形元素的高度*/public height: number;
​/*** 图形元素的角度*/public angle: number;
​/*** 图形元素的背景颜色*/public backgroundColor: string;
​/*** 图形元素的透明度* 1~100*/public opacity: number;
}

图元函数(方法)

生命周期

图元是一个完整的实例类,所以它是一个有生命的个体,所以我们需要为它定制生命周期,以抽象的形式展示

初始化实例对象

发生在创建实例的时候,比如从菜单拖拽出一个图元

销毁实例对象

export abstract class LifeCircle {/*** 初始化类对象*/abstract init(domId: string, opts?: any): void;
​/*** 销毁类对象*/abstract destroyed(): void;
}

通用的方法钩子

这里面我是用ts写的,大概可以总结为以下几个方法

  1. 数据存储和读取
保存图元数据,获取图元数据数据,发生在保存和初始化的情况
  • 获取类对象纯属性 - getPartAllProps
  • 设置类对象纯属性 - setPartAllProps

2. 样式配置

设置样式配置项 公共的样式配置项指的是大小,坐标,图层等 私有的样式配置项指的是echarts的系列,xy轴等
  • 获取类对象公共样式 - setPublicStyle
  • 设置类对象私有样式 - setShapeStyle(setPrivateStyle)

3. 数据配置

设置数据配置项 调用设置静态数据,这里补充一点不管是什么数据源,最终拿到的都是静态数据,所以只有一个设置静态数据的方法
  • 获取类对象静态数据 - setStaticData

4. 事件配置

设置事件配置项 公共的事件配置项指的是图元间的传参等 私有的事件配置项指的是图元内部的事件等
  • 获取类对象公共事件 - setPublicPartEvent
  • 设置类对象私有事件 - setPrivatePartEvent

5. 动画配置

设置动画配置项 内置动画配置项指的是图元内部的动画,比如echarts的tooltip显示等 外部动画配置项指的是图元外部渐变显示和隐藏等
  • 获取类对象外部动画 - setOuterAnimation
  • 设置类对象内置动画 - setInnerAnimation

export abstract class AbstractPart extends LifeCircle {/*** 获取类对象纯属性*/public abstract getPartAllProps(): Model.Part;
​/*** 设置类对象纯属性*/public abstract setPartAllProps(partType: any): void;
​/*** 设置公共和私有的实例样式属性*/public abstract setPublicStyle(option: any): void;public abstract setPrivateStyle(option: any): void;/*** 设置静态数据*/public abstract setStaticData(option: any): void;/*** 设置实例的事件*/public abstract setPublicPartEvent(): void;public abstract setPrivatePartEvent(): void;
​/*** 设置实例内置的动画*/public abstract setInnerAnimation(): void;
​/*** 设置实例外置的动画*/public abstract setOuterAnimation(): void;
}

下一章节,我们将介绍如何去设计一个能够实例化图元的大致流程

上一篇 前端可视化开发(二)- 框架选择

下一篇 前端可视化开发(四)- 实现图元阶段一



推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
author-avatar
qyfdxlwb
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有