暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据可视化-D3.js框架:「08] 动态更新元素的高度

路条编程 2021-10-27
310



这一系列课程将介绍D3.js 或 D3 代表数据驱动的文档。D3 是一个 JavaScript 库,用于在浏览器中创建动态和交互式数据可视化。它是为使用常见的 web 标准而构建的,即 HTML、CSS 和可伸缩矢量图形(SVG)。

D3 获取输入数据并将其映射为该数据的可视表示。它支持多种不同的数据格式。D3 允许您将数据绑定(或附加)到文档对象模型(DOM)。您可以使用带有 D3 内置方法的 HTML 或 SVG 元素将数据转换为可视化。

D3 为您提供了对数据表示的大量控制。本课程将介绍 D3 库的基本功能以及如何使用 D3 库创建可视化效果。

动态更新元素的高度

之前的文章中包括如何从数组中显示数据和如何添加 CSS 类。将这些课程的内容结合起来只需两步我们就能创建出一个简单的条形图:

1) 为每一个数组中的数据点都创建一个 div

2) 为每个 div 动态分配高度值,在 style() 方法中使用回调函数将高度值设置为数据大小

回想使用回调函数设置样式的格式:

selection.style("cssProperty", (d) => d)

在编辑器中添加 style() 方法给每个元素设置 height 属性。使用回调函数返回数据点的值加上字符串 "px"。

完整代码如下所示:


<style>
.bar {
width: 25px;
height: 100px;
display: inline-block;
background-color: blue;
}
</style>
<body>
<script>
const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];
d3.select("body").selectAll("div")
.data(dataset)
.enter()
.append("div")
.attr("class", "bar")
.style('height', d => `${d}px`)
</script>
</body>
今天就讲到这里,如果有问题需要咨询,大家可以直接留言或扫下方二维码关注公众号。也可以添加 happyzjp 微信受邀加入学习社群,我们会尽力为你解答。练习网站已经正式上线,大家可以登陆网站 http://www.icoderoad.com 进行文章中示例的练习。
文章转载自路条编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论