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

宜昌网站设计公司郑州seo全网营销

宜昌网站设计公司,郑州seo全网营销,广州制作网站企业,做女朋友的网站D3.js学习记录 首先通过generateRandomData()函数生成随机数,后续可通过setInterval控制固定秒数内更新图表。 function generateRandomData() {return Array.from({ length: 24 }, () >Math.floor(Math.random() * 1000) 10);} 将d3生成图表的代码封装到 upda…

D3.js学习记录

首先通过generateRandomData()函数生成随机数,后续可通过setInterval控制固定秒数内更新图表。

   function generateRandomData() {return Array.from({ length: 24 }, () =>Math.floor(Math.random() * 1000) + 10);}

将d3生成图表的代码封装到 updateChart() 函数中,参数是传入的数据(由generateRandomData()生成),使用 .join 处理数据更新。

  function updateChart(newData) {// 数据绑定与元素更新svg.selectAll('rect').data(newData)  // 绑定新数据.join(          // 处理元素的进入、更新、退出enter => enter  // 处理新元素.append('rect').attr('width', d => d)  // 初始宽度.attr('height', 16)     // 固定高度.attr('x', 0)           // 水平起始位置.attr('y', (d, i) => i * 20),  // 垂直位置(每个间隔20px)update => update  // 处理已存在的元素.attr('width', d => d)  // 更新宽度为新数据值.attr('y', (d, i) => i * 20),  // 同步更新垂直位置(可选)exit => exit.remove()  // 移除多余元素(当数据减少时));}

由于此处d3.js使用的版本是v5,所以动画的关键是配合使用CSS,如 rect { transition: all 0.6s; }

rect {transition: all 0.6s;/* 全局过渡(可选,D3的transition更优先) */
}

【效果图】

【完整代码】

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./style.css">
</head><body><main><h1>Today</h1><svg width="900" height="400"></svg></main><script text="script" src="./d3.min.js"></script></body>
<script>// 生成随机数据的函数(可单独提取方便复用)function generateRandomData() {return Array.from({ length: 24 }, () =>Math.floor(Math.random() * 1000) + 10);}// 选择SVG容器const svg = d3.select('svg');// 定义更新图表的函数function updateChart(newData) {// 数据绑定与元素更新svg.selectAll('rect').data(newData)  // 绑定新数据.join(          // 处理元素的进入、更新、退出enter => enter  // 处理新元素.append('rect').attr('width', d => d)  // 初始宽度.attr('height', 16)     // 固定高度.attr('x', 0)           // 水平起始位置.attr('y', (d, i) => i * 20),  // 垂直位置(每个间隔20px)update => update  // 处理已存在的元素.attr('width', d => d)  // 更新宽度为新数据值.attr('y', (d, i) => i * 20),  // 同步更新垂直位置(可选)exit => exit.remove()  // 移除多余元素(当数据减少时));}// 初始加载时绘制第一组数据updateChart(generateRandomData());// 设置定时器,每3秒更新一次数据setInterval(() => {updateChart(generateRandomData());}, 3000);
</script></html>

http://www.dtcms.com/wzjs/380653.html

相关文章:

  • 那些钓鱼网站是怎么做的网站 推广
  • 网络服务器可提供的常见服务哪四个优化网站推广教程排名
  • 长沙好的网站建设品牌谷歌浏览器引擎入口
  • 如何快速用手机做网站外链推广平台
  • 做查询新生寝室的网站seo整站优化服务
  • 宝安做棋牌网站建设找哪家效益快不收费的小说网站排名
  • 做餐饮如何加入外卖网站关键词优化如何做
  • 做兼职什么网站靠谱吗今日头条搜索优化
  • 软件开发 网站建设关键词林俊杰百度云
  • 做讲课ppt的网站爱站网为什么不能用了
  • 多平台网站建设南京搜索引擎推广优化
  • 响应式网站 手机版快推达seo
  • 上海哪里做网站比较好ebay欧洲站网址
  • 阳山网站建设sem优化是什么
  • 刷排名凡搜网站宝免费百度下载
  • 西安外贸建站网站免费推广平台
  • 学生管理系统 静态网站源码友情链接检测工具
  • 济南靠谱做网站公司企业网络推广平台
  • 新网站注册app推广拉新一手渠道代理
  • 做网站php语言用什么工具丽水网站seo
  • 网站建设和钱百度关键词价格查询
  • 甘肃网络公司网站建设无锡seo优化公司
  • 衡水高端网站建设2345网址导航设置
  • 怎么搜索整个网站内容百度关键字
  • 安徽省建设网站拼多多代运营收费标准
  • 长春网站设计公司百度网页版官网
  • 网站 前台 后台竞价推广怎么做
  • 企业做网站要多少钱海会网络做的网站怎么做优化
  • 网站建设服务有哪些方面搜索引擎优化免费
  • 模仿别人网站现在有哪些推广平台