当前位置: 首页 > news >正文

江阴招聘网站建设学徒揭阳网站制作找哪家

江阴招聘网站建设学徒,揭阳网站制作找哪家,无锡新区网站制作,文山做网站的地方需求#xff1a;实现一个可视化编辑器#xff0c;用户可以添加节点#xff0c;并对节点进行拖拽编辑#xff0c;线条要用折线而不是用自带的直线 实现期间碰到很多问题#xff0c;特意记录下来#xff0c;留待将来碰到这些问题的同学#xff0c;省去些解决问题的时间 问…需求实现一个可视化编辑器用户可以添加节点并对节点进行拖拽编辑线条要用折线而不是用自带的直线 实现期间碰到很多问题特意记录下来留待将来碰到这些问题的同学省去些解决问题的时间 问题1节点的data如下不使用直角坐标系一切正常但使用直角坐标系时节点怎么不见了 series: [{type: graph,data: [{ name: 1, x: 0, y: 0}, { name: 2, x: 10, y: 10 }] }]解决方法开启坐标系后坐标要以数组的方式存到value中 series: [{type: graph,coordinateSystem: cartesian2d,data: [{ name: 1, value: [0, 0] }, { name: 2, value: [10, 10] }] }]问题2怎么拖拽节点并且获得节点拖拽的偏移量呢 1、在配置项中允许节点拖拽draggable: true series: [{type: graph,draggable: true, }]2、监听鼠标按下和松开的事件按下时获得拖拽动作的初始坐标松开时获得拖拽动作的结束坐标比较后获得节点的偏移量 let dragCoords null myChart.on(mousedown, (e) {dragCoords [e.event?.offsetX, e.event?.offsetY] }); myChart.on(mouseup, (e) {const { offsetX, offsetY } e.eventconsole.log(初始坐标: dragCoords , 结束坐标, [offsetX, offsetY] ) });问题3直接将坐标与偏移量进行加减计算出来的坐标再赋值给节点重新渲染后的节点位置与拖拽结束的位置不一样 原因 出现这个问题是因为坐标的数值与px的数值它们只是一个正比例关系。 解决方法 计算坐标轴的长度与屏幕可视区域宽高的比例根据比例将节点在屏幕的偏移量转为在坐标系的偏移量。 举例 x轴刻度为1000渲染在屏幕是500px那么拖拽节点向右移动100px节点的x坐标应该增加200 option: {xAxis: { show: true, type: value, min: -500, max: 500 },yAxis: { show: true, type: value, min: -1000, max: 0, },grid: {left: 0, right: 0, top: 50, bottom: 50,}, }根据以上配置。可以得到 x轴长度 document.body.clientWidth y轴长度 document.body.clientHeight-50-50 当然如果需求允许设置grid.width1000; grid.height1000; 这样是最方便的直接将坐标的数值与偏移量相加减就可以得到新的坐标 function updatePosition ( e: any) {if(!e.data.name || !dragCoords) returnconst [startX, startY] dragCoords // 拖拽动作的初始位置const { offsetX, offsetY } e.event // 拖拽动作的结束位置const [ x, y ] clip.value // 节点在坐标系内的坐标const { clientWidth, clientHeight } document.body // 屏幕宽高。// x轴、y轴的刻度都1000// 根据option.grid的配置x轴长度clientWidth; y轴长度 clientHeight - 50 - 50;// 将屏幕的偏移量数值转为在坐标系中的偏移量数值const xCoord x (offsetX - startX) * 1000 / clientWidthconst yCoord y - (offsetY - startY) * 1000 / (clientHeight-100)console.log(节点的新坐标, [xCoord , yCoord ]);}问题4怎么用折线表示节点的关系呢 type: lines 的图表可以通过多线条画出折线 series: [{type: graph,symbolSize: 40,coordinateSystem: cartesian2d,draggable: true,lineStyle: { width: 2, color: #000 },label: { show: true, formatter: (e: any) e.data.title },edgeSymbol: [, arrow],data: toRef(() graphData.value.data),// links: toRef(() graphData.value.links),}, {type: lines,coordinateSystem: cartesian2d,polyline: true, // 允许多线条lineStyle: { color: #000, width: 2, join: miter },data: [ [[0,2],[0,-56],[0,-56],[0,-114]],[[0,-114],[0,-230],[-170,-230],[-170,-346]]],}]
http://www.sczhlp.com/news/167634/

相关文章:

  • 旅游网站怎么做的光伏电站建设的行业网站
  • wap网站教程wordpress上传pdf文档
  • 软件开发公司组织结构图seo关键词推广价格
  • 网站开发后端用什么技术做快消品看那些网站好
  • 14_mklink创建符号链接
  • 7_如何构建知识图谱
  • 点双连通分量例题:矿场搭建
  • MTK oppoR9m Smart Phone flash Tool 提示 ERROR: STATUS_UNSUPPORT_CTRL_CODE (0xC0010004)
  • 我开发的 Chrome 插件 SEO Tools Extension 今天上线了
  • wordpress站点版权设置网站建设利润
  • 建站之星备案磁力搜索引擎不死鸟
  • 得力文具网站建设策划书wordpress中文没人管了
  • 网站代码建设 实例广告公司网站建设策划书
  • linux apache发布php网站企业建设网站策划案
  • 本地网站模板修改前端学校网站开发视频教程
  • 微页制作网站模板网站技术报务费如何做会计分录
  • 泰安微网站建设北京城乡和住房建设部网站
  • 建设网站的费用怎么做账wordpress结婚模板
  • iis7发布php网站湘汝企业大黄页
  • 谈谈网站建设创新问题dw修改wordpress主题
  • Python视频直播网站开发最简单的做网站的软件
  • 网站建设 睿达科wordpress导航自定义
  • 济源市建设工程管理处网站seo排名优化北京
  • 怎样让百度搜不到自己的网站做h5的网站的区别
  • 下载建设网站上城区网站建设价格
  • 电商网站建设与维护意味着什么wordpress如何显示摘要
  • jsp怎样做网站Wordpress验证登陆函数
  • 珠海建设企业网站阿里云虚拟机 wordpress
  • 自建视频网站长春互联网企业
  • 片头网站知名门户网站