扫码一下
查看教程更方便
本章讨论 D3.js 中的不同形状生成器。
我们可以使用以下脚本配置 Shapes API。
<script src = "https://d3js.org/d3-path.v1.min.js"></script>
<script src = "https://d3js.org/d3-shape.v1.min.js"></script>
<script>
</script>
D3.js 支持不同的形状。让我们详细介绍一下突出的形状。
弧发生器产生圆形或环形。我们在前面的饼图章节中使用了这些 API 方法。让我们详细了解各种 Arcs API 方法。
var arc = d3.arc();
arc({
innerRadius: 0,
outerRadius: 100,
startAngle: 0,
endAngle: Math.PI / 2
});
function innerRadius(d) {
return d.innerRadius;
}
function outerRadius(d) {
return d.outerRadius;
}
function cornerRadius() {
return 0;
}
如果拐角半径大于零,则使用给定半径的圆对圆弧的拐角进行圆角处理。角半径不得大于 (outerRadius -innerRadius) / 2。
function startAngle(d) {
return d.startAngle;
}
function endAngle(d) {
return d.endAngle;
}
function padAngle() {
return d && d.padAngle;
}
此 API 用于创建饼图生成器。我们在上一章中已经执行了这些 API 方法。我们将详细讨论所有这些方法。
function value(d) {
return d;
}
pie.sort(function(a, b)
{ return a.name.localeCompare(b.name); }
);
在这里,比较函数采用两个参数“a”和“b”,每个元素都来自输入数据数组。如果“a”的弧应该在“b”的弧之前,则比较器必须返回一个小于零的数字。如果“a”的弧应该在“b”的弧之后,则比较器必须返回一个大于零的数字。
function compare(a, b) {
return b - a;
}
function startAngle() {
return 0;
}
function endAngle() {
return 2 * Math.PI;
}
function padAngle() {
return 0;
}
Lines API 用于生成一条线。我们在图表章节中使用了这些 API 方法。让我们详细介绍每种方法。
function x(d) {
return d[0];
}
function y(d) {
return d[1];
}
function defined() {
return true;
}
在下一章中,我们将学习 D3.js 中的 Colors API。