D3:用于创建曲线的微库

时间:2018-11-03 09:16:21

标签: javascript d3.js

根据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>

谢谢!

1 个答案:

答案 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;
}