D3带有标签的仪表图表

时间:2014-10-13 14:53:44

标签: javascript html d3.js

我在d3中看到了各种各样的图表,并且大部分图表都在运行。我已经看到了分段仪表,180度仪表可以改变颜色(目前为止最好的一种),还有一个速度计样式的仪表图。

在d3或任何javascript的范围内,我正在寻找的是一个d3规格图表,其中包含'部分标签'某种。

例如:我有一个180度计量表,百分比从0到100.在0到33%之间,标签文本No Risk要高于该部分,而34%到66%应该有文本Some Risk在它之上,67%到100%的部分应该有高于它的文本总风险或类似的东西。

我的问题是,有没有人知道可以做到这一点的预制仪表图表,还是会在标签上作弊更好?制作带有标签的饼图并绘制自己的针头是更好的选择吗?

由于进一步的研究,我能够找到以下内容:http://tributary.io/inlet/5273835

我或许可以在这种风格的图表上画一针。但是,我不知道如何将文本带入该部分,并将其悬停在图表之外。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这是一个非常粗略的解决方案,但它可以适用于您的特定应用。

我自己对d3很新。

http://codepen.io/anon/pen/KrBJn

显然这些都是硬编码的,我确信有更优雅的定位解决方案。

chart.append("text")
    .attr("dy", "-5em")
    .attr("dx", "-11.5em")
    .attr("text-anchor", "left")
    .text("No Risk");

  chart.append("text")
    .attr("dy", "-11em")
    .attr("dx", "0em")
    .attr("text-anchor", "middle")
    .text("Some Risk");

  chart.append("text")
    .attr("dy", "-5em")
    .attr("dx", "9em")
    .attr("text-anchor", "right")
    .text("Total Risk");