使用路径将D3 JS堆叠的条放在顶部而不是底部

耶罗尼莫

我遵循以下SA问题,使用<path>而不是来构建堆积的条形图<rect>,因此可以将顶部条形部分设置为具有圆角的样式。

如何在d3.js中制作带有扩展网格的圆角条形图?

这是一支带有我的代码的代码笔,其中显示了我的代码和错误的效果:https : //codepen.io/Yeronimo/pen/jOPWBGL

问题在于堆叠的条形图在顶部对齐。

我已经尝试了对bar函数和调用“ attr d”函数的许多更改,但似乎只会使事情变得更糟。任何帮助,将不胜感激。

这是一张购物不佳的图像,看起来像什么。因此,我的想法是,在我当前的代码中,这些条具有正确的高度和正确的顺序,只是它们应该在底部对齐。在图像中,圆角丢失了,但在笔中可见。

底部的条形很好

急于帮助

更改基本y从酒吧yscale(d[1])yscale(0)像下面这样:

return bar((xscale(xlabels[i]) + (xscale.bandwidth() / num_groups) * gnum) + 5,
            yscale(0),
            14,
            yscale(d[1]), s);

现在,酒吧将直立。但不要上当。图形上显示的堆栈不正确,并且不能正确反映数据。这是因为函数中h参数bar是钢筋的高度d[1],实际上是y - h因此,该bar功能需要更正。

function bar(x, y, w, y1, r, f) {
    // Flag for sweep:
    if (f == undefined) f = 1;
    // x coordinates of top of arcs
    var x0 = x + r;
    var x1 = x + w - r;
    // y coordinates of bottom of arcs
    var y0 = y1 + r;
    // just for convenience (slightly different than above):
    var l = "L", a = "A";

    var parts = ["M", x, y, l, x, y0, a, r, r, 0, 0, f, x0, y1, l, x1, y1, a, r, r, 0, 0, f, x + w, y0, l, x + w, y, "Z"];
    return parts.join(" ");
}

通过使用调用原始对象bar可以达到相同的效果yscale(0) - yscale(d[1]),但这会产生不必要的冗余。现在,条形尺寸正确。

但是,在每个堆栈中,较短的条现在隐藏在较长条的后面。因此,条的绘制顺序需要颠倒。这样更改datasetsstack.reverse()对每个堆栈执行

var datasets = [
            d3.stack().keys(['LKV', 'SROI', 'NoRisk'])(data).reverse(),
            d3.stack().keys(['LKV1', 'SROI1', 'NoRisk1'])(data).reverse(),
            d3.stack().keys(['LKV2', 'SROI2', 'NoRisk2'])(data).reverse()
        ];

而已。是我的版本。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将元素堆叠在容器的底部(而不是顶部)

来自分类Dev

将垂直堆叠条转换为水平堆叠条 D3.js v4

来自分类Dev

使用d3在堆叠条形图中每个矩形的尖端上的堆叠条的总高度

来自分类Dev

将刻度值放在matplotlib颜色栏的顶部和底部

来自分类Dev

将传呼机放在顶部和底部

来自分类Dev

选择将分页放在PrimeNG的Datatable组件的顶部和底部

来自分类Dev

将传呼机放在顶部和底部

来自分类Dev

如何使用D3从GeoJSON数据集中获取投影的路径定义字符串(不是SVG元素)?

来自分类Dev

通过CSV文件使用d3将国家/地区放在下拉列表中

来自分类Dev

通过CSV文件使用d3将国家/地区放在下拉列表中

来自分类Dev

使用D3将<select>放在表格单元格中

来自分类Dev

d3 路径仅显示最多 328 个点的路径/线,而不是 329 个或更多

来自分类Dev

将滚动条放在视口的底部

来自分类Dev

Bootstrap-将进度条放在父div的底部

来自分类Dev

如何将进度条组件放在布局的顶部?

来自分类Dev

图像堆叠在顶部而不是使用 Owl Carousel 滑动

来自分类Dev

需要帮助将 div 放在彼此的顶部并将最后一个放在底部

来自分类Dev

d3.js如何从数组绘制堆叠的水平条?

来自分类Dev

如何仅使用HTML将2个图像放在顶部和底部

来自分类Dev

如何将nav_header放置在底部而不是顶部

来自分类Dev

如何使用输入的点作为圆锥的顶部而不是圆锥的底部?

来自分类Dev

D3仅在运行select()而不是selectAll()时更新每个路径

来自分类Dev

将d3-tip和CSS悬停效果与d3堆叠条形图一起使用

来自分类Dev

使用D3创建HTML表时,将某些数据用于行类而不是单元格

来自分类Dev

使用JavaScript / D3的图表上的间距条

来自分类Dev

使用CSS / JS从底部从左到右堆叠框

来自分类Dev

如何突出显示d3 js中从根到所选节点的路径?

来自分类Dev

如何突出显示d3 js中从根到所选节点的路径?

来自分类Dev

svg路径中的d3 js三角形

Related 相关文章

  1. 1

    将元素堆叠在容器的底部(而不是顶部)

  2. 2

    将垂直堆叠条转换为水平堆叠条 D3.js v4

  3. 3

    使用d3在堆叠条形图中每个矩形的尖端上的堆叠条的总高度

  4. 4

    将刻度值放在matplotlib颜色栏的顶部和底部

  5. 5

    将传呼机放在顶部和底部

  6. 6

    选择将分页放在PrimeNG的Datatable组件的顶部和底部

  7. 7

    将传呼机放在顶部和底部

  8. 8

    如何使用D3从GeoJSON数据集中获取投影的路径定义字符串(不是SVG元素)?

  9. 9

    通过CSV文件使用d3将国家/地区放在下拉列表中

  10. 10

    通过CSV文件使用d3将国家/地区放在下拉列表中

  11. 11

    使用D3将<select>放在表格单元格中

  12. 12

    d3 路径仅显示最多 328 个点的路径/线,而不是 329 个或更多

  13. 13

    将滚动条放在视口的底部

  14. 14

    Bootstrap-将进度条放在父div的底部

  15. 15

    如何将进度条组件放在布局的顶部?

  16. 16

    图像堆叠在顶部而不是使用 Owl Carousel 滑动

  17. 17

    需要帮助将 div 放在彼此的顶部并将最后一个放在底部

  18. 18

    d3.js如何从数组绘制堆叠的水平条?

  19. 19

    如何仅使用HTML将2个图像放在顶部和底部

  20. 20

    如何将nav_header放置在底部而不是顶部

  21. 21

    如何使用输入的点作为圆锥的顶部而不是圆锥的底部?

  22. 22

    D3仅在运行select()而不是selectAll()时更新每个路径

  23. 23

    将d3-tip和CSS悬停效果与d3堆叠条形图一起使用

  24. 24

    使用D3创建HTML表时,将某些数据用于行类而不是单元格

  25. 25

    使用JavaScript / D3的图表上的间距条

  26. 26

    使用CSS / JS从底部从左到右堆叠框

  27. 27

    如何突出显示d3 js中从根到所选节点的路径?

  28. 28

    如何突出显示d3 js中从根到所选节点的路径?

  29. 29

    svg路径中的d3 js三角形

热门标签

归档