<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>testD3-3-drawingDivBar</title> <script type="text/javascript" src="resource/d3.v5.min.js"></script> <style type="text/css"> /********* Begin *********/ /********* End *********/ </style> </head> <body> <div id="d3"></div> <script type="text/javascript"> /********* Begin *********/ /********* End *********/ </script> </body> </html>要求补全代码完成以下任务: 选择id为d3的div进行绘图。 层数量为5。 层间距为10px。 层宽度为25px。 层高度为175px。
时间: 2023-06-29 16:08:02 浏览: 102
以下是补全后的代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>testD3-3-drawingDivBar</title>
<script type="text/javascript" src="resource/d3.v5.min.js"></script>
<style type="text/css">
/********* Begin *********/
#d3 {
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-end;
height: 200px;
width: 135px;
border: 1px solid black;
}
.bar {
width: 25px;
margin-right: 10px;
height: 175px;
background-color: steelblue;
}
/********* End *********/
</style>
</head>
<body>
<div id="d3"></div>
<script type="text/javascript">
/********* Begin *********/
const data = [1, 2, 3, 4, 5];
d3.select("#d3")
.selectAll("div")
.data(data)
.enter()
.append("div")
.attr("class", "bar");
/********* End *********/
</script>
</body>
</html>
```
其中,我们给 `#d3` 设置了一些样式,使其成为一个高度为 200px,宽度为 135px,带有边框的 flex 容器,并且让它的子元素垂直居底。我们还定义了 `.bar` 类,用于表示每个柱子的样式,其宽度为 25px,高度为 175px,背景色为 `steelblue`。
在 `<script>` 标签中,我们使用 D3.js 的选择集方法 `d3.select()` 选中了 `#d3`,并通过 `.selectAll("div")` 选择其中的所有 `<div>` 元素。接着,我们将数据 `data` 与这个选择集绑定(即数据绑定),然后使用 `.enter()` 进入数据集中不存在的元素,使用 `.append("div")` 在这些元素上添加一个 `<div>` 元素,并为其设置一个 `class` 属性为 `bar`,从而使新添加的元素能够继承 `.bar` 的样式。这样,我们就成功地在 `#d3` 中绘制出了 5 个柱子。
阅读全文