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

兼职做网站赚钱吗腾讯风铃wordpress

兼职做网站赚钱吗,腾讯风铃wordpress,天津武清做淘宝网站,双浩建设网站文章目录 一、项目背景与功能概览二、项目准备与依赖安装2.1 安装 Vue 3 项目2.2 安装 D3.js2.3 项目结构 三、实现动态数据流图3.1 创建 DataFlowChart 组件3.2 动态更新数据流3.2.1 动态更新边和节点位置3.2.2 动画效果 四、节点拖拽与编辑功能实现4.1 添加节点拖拽功能4.2 编…

文章目录

  • 一、项目背景与功能概览
  • 二、项目准备与依赖安装
    • 2.1 安装 Vue 3 项目
    • 2.2 安装 D3.js
    • 2.3 项目结构
  • 三、实现动态数据流图
    • 3.1 创建 DataFlowChart 组件
    • 3.2 动态更新数据流
      • 3.2.1 动态更新边和节点位置
      • 3.2.2 动画效果
  • 四、节点拖拽与编辑功能实现
    • 4.1 添加节点拖拽功能
    • 4.2 编辑节点功能

一、项目背景与功能概览

数据流图是一种重要的可视化图形,广泛应用于表示系统或流程的输入输出。通过数据流图,我们能够更清晰地展示数据的流动和交互过程。本项目将使用 Vue 3D3.js 来创建一个动态的数据流图,支持节点与边的动画效果,并实时更新数据流动。

核心功能包括:

  • 动态数据流展示
  • 节点与边的交互动画
  • 实时数据更新与流动可视化

二、项目准备与依赖安装

2.1 安装 Vue 3 项目

首先,使用 Vue CLI 创建一个 Vue 3 项目,并选择 TypeScript 模板:

npm create vite@latest vue-d3-flow-chart --template vue-ts
cd vue-d3-flow-chart
npm install

2.2 安装 D3.js

我们需要使用 D3.js 来实现数据流图的可视化。安装 D3.js:

npm install d3

2.3 项目结构

项目结构如下:

src/├── assets/├── components/│    └── DataFlowChart.vue├── views/│    └── Home.vue├── App.vue└── main.ts

三、实现动态数据流图

3.1 创建 DataFlowChart 组件

src/components 目录下创建 DataFlowChart.vue,这是数据流图的核心组件。我们将使用 D3.js 来绘制节点和边,并利用 Vue 3 的组合式 API 来管理图的状态。

<template><div ref="chart" class="data-flow-chart"></div>
</template><script setup>
import { onMounted, ref } from 'vue'
import * as d3 from 'd3'// 数据流图的节点与边
const nodes = [{ id: 1, name: '数据源' },{ id: 2, name: '处理模块' },{ id: 3, name: '存储模块' },
]const links = [{ source: 1, target: 2 },{ source: 2, target: 3 },
]// 组件挂载后的数据流图渲染
const chartRef = ref(null)onMounted(() => {const width = chartRef.value.clientWidthconst height = chartRef.value.clientHeight// 创建 D3 图形容器const svg = d3.select(chartRef.value).append('svg').attr('width', width).attr('height', height)// 绘制节点const nodeElements = svg.selectAll('.node').data(nodes).enter().append('circle').attr('class', 'node').attr('r', 20).attr('cx', (d, i) => 100 + i * 150).attr('cy', height / 2).style('fill', '#69b3a2')// 绘制节点标签svg.selectAll('.node-text').data(nodes).enter().append('text').attr('class', 'node-text').attr('x', (d, i) => 100 + i * 150).attr('y', height / 2 - 30).style('text-anchor', 'middle').text(d => d.name)// 绘制边svg.selectAll('.link').data(links).enter().append('line').attr('class', 'link').attr('x1', d => 100 + (d.source - 1) * 150).attr('y1', height / 2).attr('x2', d => 100 + (d.target - 1) * 150).attr('y2', height / 2).style('stroke', '#999').style('stroke-width', 2)
})
</script><style scoped>
.data-flow-chart {width: 100%;height: 400px;
}
.node {fill: #69b3a2;cursor: pointer;transition: fill 0.3s ease;
}
.node:hover {fill: #ff5722;
}
.link {stroke: #999;stroke-width: 2;
}
.node-text {font-size: 12px;fill: #333;
}
</style>

3.2 动态更新数据流

我们可以通过 D3.js 的更新机制,动态更新节点和边。例如,可以在节点之间传递数据或触发动画。

3.2.1 动态更新边和节点位置

// 监听数据变化并更新图形
const updateChart = (newLinks, newNodes) => {// 更新边const link = svg.selectAll('.link').data(newLinks)link.enter().append('line').merge(link).attr('x1', d => 100 + (d.source - 1) * 150).attr('y1', height / 2).attr('x2', d => 100 + (d.target - 1) * 150).attr('y2', height / 2)// 更新节点const node = svg.selectAll('.node').data(newNodes)node.enter().append('circle').merge(node).attr('cx', (d, i) => 100 + i * 150).attr('cy', height / 2)
}

3.2.2 动画效果

我们可以为节点和边添加动画效果,增强交互性。例如,在节点之间传递数据时,模拟数据流动的过程。

// 节点动画
node.transition().duration(500).attr('r', 30).style('fill', '#ff5722').transition().duration(500).attr('r', 20).style('fill', '#69b3a2')

四、节点拖拽与编辑功能实现

4.1 添加节点拖拽功能

通过 D3.js 提供的拖拽功能,允许用户拖动节点,改变节点的位置。以下是拖拽实现代码:

// 节点拖拽
node.call(d3.drag().on('start', dragStarted).on('drag', dragged).on('end', dragEnded)
)function dragStarted(event) {d3.select(this).raise().attr('stroke', 'black')
}function dragged(event) {d3.select(this).attr('cx', event.x).attr('cy', event.y)
}function dragEnded() {d3.select(this).attr('stroke', null)
}

4.2 编辑节点功能

用户可以点击节点编辑其内容,如名称或颜色。实现代码如下:

// 节点点击编辑
node.on('click', (event, d) => {const newName = prompt('输入新的节点名称', d.name)if (newName) {d.name = newNamed3.select(this).select('text').text(newName)}
})

—> 到这里,这篇文章就和大家说再见啦!我的主页里还藏着很多 篇 前端 实战干货,感兴趣的话可以点击头像看看,说不定能找到你需要的解决方案~
创作这篇内容花了很多的功夫。如果它帮你解决了问题,或者带来了启发,欢迎:
点个赞❤️ 让更多人看到优质内容
关注「前端极客探险家」🚀 每周解锁新技巧
收藏文章⭐️ 方便随时查阅
📢 特别提醒:
转载请注明原文链接,商业合作请私信联系
感谢你的阅读!我们下篇文章再见~ 💕

在这里插入图片描述


文章转载自:

http://pygvgOYR.bmLcy.cn
http://oFZvJnsO.bmLcy.cn
http://EfUUQC9T.bmLcy.cn
http://IwzMnnVC.bmLcy.cn
http://HFmwuSul.bmLcy.cn
http://93JlB73a.bmLcy.cn
http://NoYBXpI0.bmLcy.cn
http://LZFj8S2J.bmLcy.cn
http://O0zayGST.bmLcy.cn
http://TUxhzSb5.bmLcy.cn
http://j6ShciFE.bmLcy.cn
http://JvJt8GV6.bmLcy.cn
http://gTO3EfYv.bmLcy.cn
http://49CSgCSc.bmLcy.cn
http://esIZzZvo.bmLcy.cn
http://r8pRF8je.bmLcy.cn
http://4civnx0e.bmLcy.cn
http://3ez4zg4g.bmLcy.cn
http://fuUMurA4.bmLcy.cn
http://8Bz2B74Y.bmLcy.cn
http://GanxskhL.bmLcy.cn
http://saEFNYdh.bmLcy.cn
http://x1lmwIQY.bmLcy.cn
http://i2Q8sS7r.bmLcy.cn
http://Zc1kl16j.bmLcy.cn
http://9UIOuhle.bmLcy.cn
http://j5rsYVtr.bmLcy.cn
http://tWwlr0s1.bmLcy.cn
http://N8AFqoLo.bmLcy.cn
http://MG7yq15t.bmLcy.cn
http://www.dtcms.com/wzjs/730986.html

相关文章:

  • 物流网站开发公司施工企业有哪些
  • 大馆陶网站福州网站制作维护
  • c 做网站怎么截取前面的字符月夜直播视频免费观看
  • 美橙域名查询网站网站开发的作用
  • 北京做网站软件wordpress站点名字体
  • 电子商务网站建设的范围是什么企业产品营销策划推广
  • 手表电商网站优化设计卷子答案
  • 开鲁seo网站湖南网站营销推广
  • 深圳网站制作 论坛旅行社营业网点可以做网站吗
  • 网站 如何做 同时在线动画设计师月薪多少
  • 达州建设企业网站免费做的网站怎么设置域名解析
  • 海门网站建设制作个体工商户能网站备案吗
  • 做网站比较好做网站竟然不知道cms
  • 桥头镇网站建设公司百度健康
  • 网站图片管理系统哪个行业最需要推广
  • 江苏永坤建设有限公司网站大数据培训总结
  • 常州做网站建设的公司网站导航栏 字体
  • 宝塔可以做二级域名网站么营销网站制作教程
  • 淘宝官方网站登录注册如何架设网站服务器
  • 建站程序员招聘软文编辑
  • 贵 建设厅网站文件哈尔滨网站建设公司
  • 吉林网站建设哪家好wordpress后台错位
  • 建设网站网站怎样把html文件变成链接
  • 江西住房和城乡建设部网站首页青岛网站推广的价格
  • it培训机构出来的好找工作吗点击宝seo
  • 官方网站下载穿越火线wordpress会员等级插件
  • 山东工程网站建设湖南网站建设平台
  • 建设网站的费用调研wordpress怎么加友链
  • 网站网络推广方式方法沧州做网站公司
  • 网站页面模板织梦网站源码转换成wordpress