网页中插入的可视化数据未正确缩进且未出现在所需位置
Visualization data inserted in the webpage is not properly indented and not appearing at desired position
我认为我添加的图表应该在标题 SVG 工作的实现 之后,但它在最后是可见的。我已经分配了应该插入的 div 部分。我希望我的代码在 SVG 工作实施 之后和 功能工作 .
之前使用它的地方显示此图
------------
我粘贴我写的代码。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<link type="text/css" rel="stylesheet" href="style.css"/>
<script type="text/javascript" src="d3/d3.js"></script>
<script type="text/javascript" src="d3/d3.layout.js"></script>
<script type="text/javascript" src="d3/d3.v3.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<style type="text/css">
text {
font-size: 11px;
}
</style>
</head>
<body>
<div class="container" >
<div class="row" >
<div class="col-md-4 img-responsive"><img src="img/e2.png" alt="Smiley face" height="100" width="100"></div>
<div class="col-md-4" >
<h1 ></h1>
</div>
<div class="col-md-4" >
<h1 >Plan Your Courses</h1>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h2>Implementation of SVG Work</h2>
<script type="text/javascript">
var dataset = [ 25, 7, 5, 26, 11, 8, 25, 14, 23, 19,
14, 11, 22, 29, 11, 13, 12, 17, 18, 10,
24, 18, 25, 9, 3 ];
//Width and height
var w = 500;
var h = 100;
var barPadding = 1; // <-- New!
//Create SVG element
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
// GENERATING RECTANGLES AND MAKING BAR CHART
svg.selectAll("rect")
.data(dataset)
.enter()
.append("rect")
.attr("x", function(d, i) {
return i * (w / dataset.length);
})
.attr("y", function(d) {
return h- (d*5);
})
.attr("width", w / dataset.length - barPadding)
.attr("height", function(d) {
return d*5;
})
.attr("fill", function(d) {
return "rgb(0, 0, " + (d * 10) + ")";
});
// APPENDIND TEXT INTO THE BAR CHART
svg.selectAll("text")
.data(dataset)
.enter()
.append("text")
.text(function(d) {
return d;
})
.attr("x", function(d, i) {
return i * (w / dataset.length) + 3;
})
.attr("y", function(d) {
return h - (d * 4) + 10;
})
.attr("font-family", "sans-serif")
.attr("font-size", "11px")
.attr("fill", "white");
</script>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h2>Feature Work</h2>
</div>
</div>
<div class="row">
<div class="col-md-6">
<img class="img-responsive" src="http://placehold.it/555x300">
<h3>Appify</h3>
<p><a href="http://github.com">Link to project</a></p>
</div>
<div class="col-md-6">
<img class="img-responsive" src="http://placehold.it/555x300">
<h3>Appify</h3>
<p><a href="http://github.com">Link to project</a></p>
</div>
</div>
</div>
</body>
</html>
我无所谓,你把你的脚本代码放在哪里,重要的是svg节点加在哪里。如果您这样做 d3.select("body").append("svg")
,svg 节点将作为最后一个 child 节点附加到 body 节点,因此图形出现在最后。
将 svg 节点定位在正确位置的一种可能性是插入专用的 container-div,如下所示:
<body>
<div><!-- before svg --></div>
<div id="svg-container"><!-- you want your svg here --></div>
<div><!-- after svg --></div>
</body>
然后您可以使用 d3.select("div#svg-container").append("svg")
.
插入 svg 节点
因为您已经有一个带有子标题的相应 div 元素,您可以使用 id-attribute 使其易于识别。看起来您当前的 类 ("col-md-12") 实际上是 ID。
您应该查看附加 svg 元素的位置。现在它在 body 中,所以被添加到 body 的末尾。改变它。
我认为我添加的图表应该在标题 SVG 工作的实现 之后,但它在最后是可见的。我已经分配了应该插入的 div 部分。我希望我的代码在 SVG 工作实施 之后和 功能工作 .
之前使用它的地方显示此图我粘贴我写的代码。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<link type="text/css" rel="stylesheet" href="style.css"/>
<script type="text/javascript" src="d3/d3.js"></script>
<script type="text/javascript" src="d3/d3.layout.js"></script>
<script type="text/javascript" src="d3/d3.v3.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<style type="text/css">
text {
font-size: 11px;
}
</style>
</head>
<body>
<div class="container" >
<div class="row" >
<div class="col-md-4 img-responsive"><img src="img/e2.png" alt="Smiley face" height="100" width="100"></div>
<div class="col-md-4" >
<h1 ></h1>
</div>
<div class="col-md-4" >
<h1 >Plan Your Courses</h1>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h2>Implementation of SVG Work</h2>
<script type="text/javascript">
var dataset = [ 25, 7, 5, 26, 11, 8, 25, 14, 23, 19,
14, 11, 22, 29, 11, 13, 12, 17, 18, 10,
24, 18, 25, 9, 3 ];
//Width and height
var w = 500;
var h = 100;
var barPadding = 1; // <-- New!
//Create SVG element
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
// GENERATING RECTANGLES AND MAKING BAR CHART
svg.selectAll("rect")
.data(dataset)
.enter()
.append("rect")
.attr("x", function(d, i) {
return i * (w / dataset.length);
})
.attr("y", function(d) {
return h- (d*5);
})
.attr("width", w / dataset.length - barPadding)
.attr("height", function(d) {
return d*5;
})
.attr("fill", function(d) {
return "rgb(0, 0, " + (d * 10) + ")";
});
// APPENDIND TEXT INTO THE BAR CHART
svg.selectAll("text")
.data(dataset)
.enter()
.append("text")
.text(function(d) {
return d;
})
.attr("x", function(d, i) {
return i * (w / dataset.length) + 3;
})
.attr("y", function(d) {
return h - (d * 4) + 10;
})
.attr("font-family", "sans-serif")
.attr("font-size", "11px")
.attr("fill", "white");
</script>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h2>Feature Work</h2>
</div>
</div>
<div class="row">
<div class="col-md-6">
<img class="img-responsive" src="http://placehold.it/555x300">
<h3>Appify</h3>
<p><a href="http://github.com">Link to project</a></p>
</div>
<div class="col-md-6">
<img class="img-responsive" src="http://placehold.it/555x300">
<h3>Appify</h3>
<p><a href="http://github.com">Link to project</a></p>
</div>
</div>
</div>
</body>
</html>
我无所谓,你把你的脚本代码放在哪里,重要的是svg节点加在哪里。如果您这样做 d3.select("body").append("svg")
,svg 节点将作为最后一个 child 节点附加到 body 节点,因此图形出现在最后。
将 svg 节点定位在正确位置的一种可能性是插入专用的 container-div,如下所示:
<body>
<div><!-- before svg --></div>
<div id="svg-container"><!-- you want your svg here --></div>
<div><!-- after svg --></div>
</body>
然后您可以使用 d3.select("div#svg-container").append("svg")
.
因为您已经有一个带有子标题的相应 div 元素,您可以使用 id-attribute 使其易于识别。看起来您当前的 类 ("col-md-12") 实际上是 ID。
您应该查看附加 svg 元素的位置。现在它在 body 中,所以被添加到 body 的末尾。改变它。