返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript TWaver使用中间点画折线的方法
  • 124
分享到

JavaScript TWaver使用中间点画折线的方法

2024-04-02 19:04:59 124人浏览 安东尼
摘要

目录前言原始写法我的方案前言 TWaver的图形组件库中提供了拓扑组件、地图组件、设备图组件,以及表格、树图、属性表、图表等丰富的通用图形界面组件,为电信运营支撑系统(OSS)的开发

前言

TWaver的图形组件库中提供了拓扑组件、地图组件、设备图组件,以及表格、树图、属性表、图表等丰富的通用图形界面组件,为电信运营支撑系统(OSS)的开发提供“一站式”的组件产品和解决方案,是快速设计、开发和部署OSS的利器。

问题描述:

使用官方的ShapeLink画折线会不符合我的需求,比如连线中间的name标签不居中,以及没办法绘制多条,由同一节点出发的连线。

原始写法

var link = new twaver.ShapeLink(nodeA, nodeB);
link.setName('shapeLink');
box.add(nodeA);
box.add(nodeB);
box.add(link);
link.addPoint({x:150,y:250});
link.addPoint({x:300,y:250});
link.addPoint({x:500,y:450});
link.setStyle('shapelink.type','lineto');

这里我们需要告诉它点的新坐标,然后将其添加进去就可以了,以这种方式形成自动形成折线,操作起来比较简单方便,

效果如图:

从这里面也可以看出问题,name显示的位置是连线的中间处,从官方给的参数来说,并没有办法设置它在哪条上居中显示。如果用于发某些结构图的话,连线的中间处的位置并不合适。

我的方案

可能是我的需求的原因,有些东西需要居中显示,导致不得已采用中间点的方式绘制。

主要实现功能:

  • 从A到Z可能有多条连线,只是业务不同
  • name必须居中显示在横线的中间位置
  • 多条连线时允许双击折叠

伪代码如下:

// 临时点tempNode
let tempNode = new Node();
tempNode.setSize(2, 2);
tempNode.setStyle('body.type', 'vector');
tempNode.setStyle('vector.shape', 'circle');
tempNode.setStyle('vector.fill.color', this.lineColor);
tempNode.setStyle('vector.outline.color', this.lineColor);
tempNode.setStyle('vector.outline.width', 1);

// 起点start-->tempNode
let link1 = new Link(start, tempNode);
link1.setFromNode(start);
link1.setToNode(tempNode);

// tempNode --> 终点
let link2 = new Link(tempNode, end);
link2.setFromNode(tempNode);
link2.setToNode(end);

// 如果有多条tempNode --> 终点
let link3 = new Link(tempNode, end);
link3.setFromNode(tempNode);
link3.setToNode(end);

最终效果图:

关于折叠的问题,只要link.bundle.id属性设置一样的ID就可以进行双击折叠和关闭,然后通过link.bundle.expanded属性,来控制默认是展开还是折叠状态。

到此这篇关于javascript TWaver使用中间点画折线的方法的文章就介绍到这了,更多相关js TWaver画折线内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaScript TWaver使用中间点画折线的方法

本文链接: https://lsjlt.com/news/164289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript TWaver使用中间点画折线的方法
    目录前言原始写法我的方案前言 TWaver的图形组件库中提供了拓扑组件、地图组件、设备图组件,以及表格、树图、属性表、图表等丰富的通用图形界面组件,为电信运营支撑系统(OSS)的开发...
    99+
    2024-04-02
  • 如何使用matplotlib中的折线图方法plot()
    本篇内容介绍了“如何使用matplotlib中的折线图方法plot()”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!plt.plot()的定...
    99+
    2023-06-16
  • python绘制散点图和折线图的方法
    本文实例为大家分享了python绘制散点图和折线图的具体代码,供大家参考,具体内容如下 #散点图,一般和相关分析、回归分析结合使用 import pandas import ...
    99+
    2024-04-02
  • C#折线图控件使用方法详解
    本文实例为大家分享了C#编写折线图控件的具体代码,供大家参考,具体内容如下 简单解说 这是第一次写博客,也是第一次发布自己写代码,有不足之处请多见谅。源代码参考了网络搜索到的一些资源...
    99+
    2024-04-02
  • Javascript动画插件lottie-web的使用方法
    lottie可以将一个json数据渲染成一个动画,而且支持多平台,在不同的平台下使用同一个json文件即可实现相同的效果,非常的方便。这里介绍前端的使用方法。https://gith...
    99+
    2024-04-02
  • VUE项目中封装Echart折线图的方法
    本文实例为大家分享了VUE项目中封装Echart折线图的具体代码,供大家参考,具体内容如下 封装Echart折线图,可显示多条折线 1. 首先在项目中全局引入Echarts,main...
    99+
    2024-04-02
  • vue时间线组件的使用方法
    本文实例为大家分享了vue时间线组件的具体实现代码,供大家参考,具体内容如下 效果 vue-时间线组件(时间轴组件)代码 <template> <ul...
    99+
    2024-04-02
  • JavaScript中load的使用方法
    本篇内容介绍了“JavaScript中load的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • JavaScript中blur的使用方法
    这篇文章主要介绍“JavaScript中blur的使用方法”,在日常操作中,相信很多人在JavaScript中blur的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • JavaScript中arguments的使用方法
    目录一、arguments的使用二、arguments.callee的使用一、arguments的使用 当我们不确定有多少个参数传递的时候,可以用 arguments 来获取。在 J...
    99+
    2024-04-02
  • JavaScript中typeof的使用方法
    这篇文章给大家分享的是有关JavaScript中typeof的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在js中,typeof的用法是“typeof(表达式)”或“typeof 变量名”,typeof...
    99+
    2023-06-15
  • JavaScript中math的使用方法
    这篇文章主要介绍JavaScript中math的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JavaScript中的math 对让我们能够对执行一些数学操作。 它具有数学常数和函数的属性和方法。 在今天的文...
    99+
    2023-06-15
  • 怎么使用javascript的时间线ui控件
    这篇文章主要介绍“怎么使用javascript的时间线ui控件”,在日常操作中,相信很多人在怎么使用javascript的时间线ui控件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • C# Chart折线图使用鼠标滚轮放大、缩小和平移曲线的方法
    这篇“C# Chart折线图使用鼠标滚轮放大、缩小和平移曲线的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C...
    99+
    2023-07-02
  • javascript中节点的删除方法
    这篇文章将为大家详细讲解有关javascript中节点的删除方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript删除节点的方法:1、使用remove()方法,可用于删除父节点上的所有元素...
    99+
    2023-06-14
  • JAVA多线程中join()方法的使用方法
    虽然关于讨论线程join()方法的博客已经非常极其特别多了,但是前几天我有一个困惑却没有能够得到详细解释,就是当系统中正在运行多个线程时,join()到底是暂停了哪些线程,大部分博客...
    99+
    2024-04-02
  • JavaScript中时间戳运算的方法
    这篇文章主要讲解了“JavaScript中时间戳运算的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中时间戳运算的方法”吧! ...
    99+
    2024-04-02
  • 怎么在JavaScript中使用remove方法删除dom节点
    今天就跟大家聊聊有关怎么在JavaScript中使用remove方法删除dom节点,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。javascript是一种什么语言javascript...
    99+
    2023-06-14
  • windows7系统wifi热点使用一段时间掉线问题解决方法
    看到很多同学都说win7 由于win7定时的刷新周围的无线网络,无线网卡搜索到了附近的无线信号。默认设置会自动连接那些没有加密的无线信号!也就造成了win7虚拟的wifi不稳定断线了! 我们要做的就是关闭无线网卡的自动配...
    99+
    2023-05-30
    win7 wifi热点 掉线 热点 一段时间 wifi 问题 解决
  • matplotlib绘制两点间连线的几种方法实现
    目录绘制方法<1>绘制方法<2>使用pyplot绘制图像绘制方法<3>使用axes类绘制图像绘制方法<4>使用figure类绘制图像为...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作