当前位置: 首页 > 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/444442.html

相关文章:

  • 河南网站建设服务公司创建网站
  • 网站开发教程 视频教程seo职业培训班
  • 官方网站建设需要哪个部门审批电商运营工资大概多少
  • 中国建设局网站招聘上海百度seo网站优化
  • 可以做网络推广的网站今日nba比赛直播
  • 网站制作可以询价么会计培训班要多少钱
  • 网站备案信息河南seo外包
  • 手机如何翻到国外网站关键词seo公司推荐
  • 北京做网站建设价格优化网站内容
  • 网站建设白云seo群发软件
  • 南昌做公司网站百度搜图
  • 做怎样的网站能赚钱电脑零基础培训学校
  • 交互设计专业就业前景重庆seo技术分享
  • 免费域名网站哪个最好站长之家查询工具
  • 广州开发appseo推广软件哪个好
  • 优酷网站建设视频教程集网络广告策划流程有哪些?
  • 北京做vr网站app拉新推广一手接单平台
  • 小学学校网站建设培训资料深企在线
  • 用vs session做网站湘潭高新区最新新闻
  • 哪个网站可以做加工北京优化核酸检测
  • 淄博网站建设设计靠谱的影视后期培训班
  • 原江苏省建设厅网站百度销售推广
  • 支付网站建设费账务处理2022百度收录越来越难了
  • 益阳网站建设广告推广形式有哪几种
  • 网站开发报价咨询公司
  • 网站开发排名网站百度权重
  • 网站开发与网站建设抖音推广公司
  • 建站公司如何月入十万引流推广方案
  • 杭州企业网站制作网络搭建教程
  • 建筑设计软件免费快速排名优化怎么样