D3 v4 条形图不显示标签

史蒂夫·宋

我正在努力为 D3 版本 4 图表中的各个条形添加垂直标签。我认为问题在于,根据 SVG 标准<text>元素不能位于<rect>元素内,但在我的一生中,我无法弄清楚如何让<text>元素出现在<rect>元素之外有问题的代码在这里:

g.selectAll(".bar")
  .data(data)
  .enter().append("rect")
    .attr("class", "bar")
    .attr("y", function(d) { return y(d.Country);    })
    .attr("x", function(d) { return x(d.freqStart); })
    .attr("width", function(d) { return x(d.freqEnd) - x(d.freqStart); })
    .attr("height", y.bandwidth())
  .append("text")
    .attr("class", "label")
    .attr("transform", "rotate(-90)")
    .text(function(d) { return d.Operator; });

完整代码可以在https://plnkr.co/edit/JiuYKhRxgqtG1osYjJHq?p=preview找到

斯巴达93

是的,你是对的。<text>元素不能在<rect>元素内部从技术上讲,您可以附加它们,但您将看不到任何内容。

话虽如此,执行此操作的常用方法是将您的矩形附加到<g>元素。这样,您可以相应地将文本标签添加到相应的组中。

这是我更改的代码部分。对于每个条,我们附加一个新<g>元素。在代码的第二部分,我们将文本标签添加到相同的 g 元素。

 g.selectAll(".bar")
.data(data)
.enter().append("g")
.attr("class", "bars")
.append("rect")
  .attr("class", "bar")
  .attr("y", function(d) { return y(d.Country);    })
  .attr("x", function(d) { return x(d.freqStart); })
  .attr("width", function(d) { return x(d.freqEnd) - x(d.freqStart); })
  .attr("height", y.bandwidth());

var bars = svg.selectAll(".bars");
bars.append("text")
  .attr("class", "label")
  .attr('transform', 'rotate(-90)')
.attr("y", function(d) { return x(d.freqStart) + 20; })
.attr("x", function(d) { return -y(d.Country) + 5; })
  .text(function(d) { return d.Operator; });

完整的工作代码在这里 - https://plnkr.co/edit/9rUZXl7mfw32sWJih2Ob?p=preview

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何制作可点击的过渡条形图以在 d3 v4 中显示 3 个图形?

来自分类Dev

如何在 d3 v4 中制作可点击的过渡条形图?

来自分类Dev

带有可排序条形图的 d3 v4 单选按钮

来自分类Dev

d3 v4 获取条形图工具提示的数据

来自分类Dev

D3 v4 - 制作一个固定宽度的水平条形图

来自分类Dev

D3 v4 更新条形图不绘制最后一个条形图

来自分类Dev

d3 v4为什么我的x轴和条形图不能对齐?

来自分类Dev

将文本追加到d3js v4中的分组条形图

来自分类Dev

D3 v4 日期刻度从不显示最后一项

来自分类Dev

从 v3 迁移到 v4 - 工具提示未显示在 d3 中

来自分类Dev

D3 v4 图形不更新条形 - 但附加新的轴数据

来自分类Dev

D3 V4朝阳图布局弧计算

来自分类常见问题

向d3树状图v4添加Toggle函数

来自分类Dev

向d3树状图v4添加Toggle函数

来自分类Dev

在d3 v4中包含多个颜色标签

来自分类Dev

努力使用 ordinalScale() || 实现带标签的 x 比例 scaleBand() (d3 v4)

来自分类Dev

d3 v4 x 轴长标签半隐藏

来自分类Dev

d3 v4的散点图未显示Y轴

来自分类Dev

如何在分组的条形图d3js v4中减小矩形大小

来自分类Dev

在将D3 v3强制定向图转换为D3 v4库实现时遇到问题吗?

来自分类Dev

D3 条形图镜像

来自分类Dev

D3 v4:具有嵌套 g 标签的任意复杂数组的元素之间的间距和绑定

来自分类Dev

IOS 条形图 - 如何在条形图上显示值(1.0、2.0 等)标签并在条形图滚动上显示特定值(如 3 - 7)

来自分类Dev

D3(v4 / v5):将垂直小提琴图转换为水平小提琴图

来自分类Dev

D3 V4设定初始缩放等级

来自分类Dev

d3 v4更新/合并分组数据

来自分类Dev

ReactJS + D3 v4投影问题

来自分类Dev

d3 v4 中的 tree.nodeSize

来自分类Dev

d3 (v4):赋予元素动量的外观?

Related 相关文章

  1. 1

    如何制作可点击的过渡条形图以在 d3 v4 中显示 3 个图形?

  2. 2

    如何在 d3 v4 中制作可点击的过渡条形图?

  3. 3

    带有可排序条形图的 d3 v4 单选按钮

  4. 4

    d3 v4 获取条形图工具提示的数据

  5. 5

    D3 v4 - 制作一个固定宽度的水平条形图

  6. 6

    D3 v4 更新条形图不绘制最后一个条形图

  7. 7

    d3 v4为什么我的x轴和条形图不能对齐?

  8. 8

    将文本追加到d3js v4中的分组条形图

  9. 9

    D3 v4 日期刻度从不显示最后一项

  10. 10

    从 v3 迁移到 v4 - 工具提示未显示在 d3 中

  11. 11

    D3 v4 图形不更新条形 - 但附加新的轴数据

  12. 12

    D3 V4朝阳图布局弧计算

  13. 13

    向d3树状图v4添加Toggle函数

  14. 14

    向d3树状图v4添加Toggle函数

  15. 15

    在d3 v4中包含多个颜色标签

  16. 16

    努力使用 ordinalScale() || 实现带标签的 x 比例 scaleBand() (d3 v4)

  17. 17

    d3 v4 x 轴长标签半隐藏

  18. 18

    d3 v4的散点图未显示Y轴

  19. 19

    如何在分组的条形图d3js v4中减小矩形大小

  20. 20

    在将D3 v3强制定向图转换为D3 v4库实现时遇到问题吗?

  21. 21

    D3 条形图镜像

  22. 22

    D3 v4:具有嵌套 g 标签的任意复杂数组的元素之间的间距和绑定

  23. 23

    IOS 条形图 - 如何在条形图上显示值(1.0、2.0 等)标签并在条形图滚动上显示特定值(如 3 - 7)

  24. 24

    D3(v4 / v5):将垂直小提琴图转换为水平小提琴图

  25. 25

    D3 V4设定初始缩放等级

  26. 26

    d3 v4更新/合并分组数据

  27. 27

    ReactJS + D3 v4投影问题

  28. 28

    d3 v4 中的 tree.nodeSize

  29. 29

    d3 (v4):赋予元素动量的外观?

热门标签

归档