根据D3 GitHub页面,可以使用微库。 我一直在寻找正确的库来绘制曲线,并认为找到了它(“ d3-shape”:https://github.com/d3/d3-shape#curves),但是不幸的是,如果没有在项目中添加“完整”的D3库,我就无法使其运行。
我做错什么了吗?我可以使它在没有完整的D3库的情况下以某种方式运行,而在微库中运行吗?
这是我的CodePen;删除完整的D3库(仅保留微型库)后,它将停止工作:https://codepen.io/clmsvie/pen/OaLErV
var lineGenerator = d3.line()
.curve(d3.curveBundle.beta(1));
var points = [
[0, 80],
[100, 100],
[200, 30],
[300, 50],
[400, 40],
[500, 80]
];
var pathData = lineGenerator(points);
d3.select('path')
.attr('d', pathData);
// Also draw points for reference
d3.select('svg')
.selectAll('circle')
.data(points)
.enter()
.append('circle')
.attr('cx', function(d) {
return d[0];
})
.attr('cy', function(d) {
return d[1];
})
.attr('r', 3);
path {
fill: none;
stroke: #999;
}
circle {
fill: none;
stroke: #aaa;
}
<script src="https://d3js.org/d3-path.v1.min.js"></script>
<script src="https://d3js.org/d3-shape.v1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.2/d3.min.js"></script>
<svg width="700" height="110">
<path></path>
</svg>
谢谢!
答案 0 :(得分:0)
添加以下内容,而不是完整的d3
apm uninstall language-javascript
<script src="https://d3js.org/d3-selection.v1.min.js"></script>
var lineGenerator = d3.line()
.curve(d3.curveBundle.beta(1));
var points = [
[0, 80],
[100, 100],
[200, 30],
[300, 50],
[400, 40],
[500, 80]
];
var pathData = lineGenerator(points);
d3.select('path')
.attr('d', pathData);
// Also draw points for reference
d3.select('svg')
.selectAll('circle')
.data(points)
.enter()
.append('circle')
.attr('cx', function(d) {
return d[0];
})
.attr('cy', function(d) {
return d[1];
})
.attr('r', 3);
path {
fill: none;
stroke: #999;
}
circle {
fill: none;
stroke: #aaa;
}