更改d3条形图的“填充”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改d3条形图的“填充”相关的知识,希望对你有一定的参考价值。

我在Laravel学习D3并试图使用这个颜色选择按钮:

<input type="color">

...在此链接更新d3条形图的填充:(https://bl.ocks.org/mbostock/3885304

我尝试了很多解决方案,包括使用css对象和答案:(Input type color styling

我将整个图表加载到页面上,但颜色选择按钮可以更改颜色,就像在另一个链接问题的答案中一样,不会更新图形的填充。为了澄清,我肯定会更新“填充”而不是“颜色”。我是D3和js的新手,但不是html和css。可以通过添加以下行来设置颜色,例如:

.attr("fill", "green");

...到代码的末尾,但我想看看如何通过从“输入类型”按钮中选择颜色来更改图形的条形填充。

答案

为更改事件的输入添加侦听器。在更改时,选择所有条形,然后将填充设置为新颜色。

d3.select("input")
  .on("change", function() {
    g.selectAll(".bar")
      .style("fill", d3.select(this).property("value"))
  });

以上是关于更改d3条形图的“填充”的主要内容,如果未能解决你的问题,请参考以下文章

用渐变填充条形图的径向条

使用 D3.js 将误差线添加到分组条形图中

如何更改D3中饼图的位置?

无需使用d3.js重新渲染数据的无限滚动条形图[关闭]

D3 Chart SVG响应条和轴

将 d3.csv 方法转换为 d3.csv.parse 方法