怎么在表格里画弧形,表格边框怎样设置成弧形

首页 > 科技 > 作者:YD1662025-04-13 23:54:03

如您所见,绘制圆弧的过程类似于绘制线条和区域的过程。主要区别在于弧在空间中的位置是用极坐标而不是笛卡尔来处理的,这反映在弧发生器的访问器函数中。

图 4.28 绘制弧线的步骤。

怎么在表格里画弧形,表格边框怎样设置成弧形(29)

4.4.3 计算弧的质心

饼图和圆环图最近在数据可视化社区中得到了很多负面报道,主要是因为我们意识到人眼不太擅长估计弧线所代表的比率。但是,这些图表并不总是一个糟糕的选择,尤其是当它们包含少量类别时。但我们绝对可以通过标签帮助他们提高可读性,这就是我们在这里要做的!

在表示有降水天数的弧线上,我们将添加标签“35%”,即之前计算的有降水的天数百分比。放置此标签的好地方是弧的质心,也称为其质心。此值可由电弧发生器提供。

在下面的代码片段中,我们在前面初始化的弧发生器函数上调用方法。这一次,我们将它与 startAngle() 和 endAngle() 访问器函数链接起来,分别将它们传递代表有降水的日子的弧的开始角和结束角的值。最后,我们链接方法centroid(),它将计算弧的中点。

const centroid = arcGenerator .startAngle(0) .endAngle(angleDaysWithPrecipitations_rad) .centroid();

将质心记录到控制台中。您将看到它由两个值的数组组成:质心的水平和垂直位置,在我们的例子中是 [89, -45] ,从内部图表的原点计算得出。

在下一个代码段中,我们通过向内部图表追加文本元素来创建标签。为了使标签包含“%”符号,我们使用方法 d3.format(“.0%”) ,后跟括号中的值。此方法便于以特定方式(如货币、百分比和指数)格式化数字,或为这些数字添加特定后缀,如“M”表示百万或“μ”表示微型。您可以在模块 d3 格式 (https://github.com/d3/d3-format) 中找到所有可用格式的详细列表。

然后,我们使用质心数组中返回的第一个和第二个值设置 x 和 y 属性。请注意我们如何设置文本锚点和主要基线属性,以确保标签在水平和垂直方向上以 x 和 y 属性为中心。

最后,我们给标签一个白色和500的字体粗细,以提高其易读性。保存后,带有标签的弧应如图 4.29 所示。

innerChart .append("text") .text(d => d3.format(".0%")(percentageDaysWithPrecipitations/100)) .attr("x", centroid[0]) .attr("y", centroid[1]) .attr("text-anchor", "middle") .attr("dominant-baseline", "middle") .attr("fill", "white") .style("font-weight", 500);

图 4.29 带有标签的已完成弧。

怎么在表格里画弧形,表格边框怎样设置成弧形(30)

您现在知道如何使用 D3 绘制线条、面积和弧线了!在下一章中,我们将使用布局生成器将这些形状提升到另一个层次。

4.5 小结,
上一页45678末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.