首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于数据集(d3)的颜色改变

基于数据集(d3)的颜色改变
EN

Stack Overflow用户
提问于 2022-02-21 08:58:40
回答 1查看 40关注 0票数 1

我有两个数据集d1和d2,如下所示:

代码语言:javascript
复制
const d1 = [
 {group: "H", value: 6},
 {group: "I", value: 2},
 {group: "M", value: 3}
];
const d2 = [
 {group: "H", value: 1},
 {group: "I", value: 12},
 {group: "M", value: 2}
];

还有一个名为makethisgraph的函数,其中发送的“数据”要么是d1,要么是基于我单击的按钮的d2。在这个函数中,根据我选择的数据,条形图会发生变化,以匹配值。我希望这样做,如果我选择d1,那么条形图的颜色就会变成红色,如果d2会变成绿色。

代码语言:javascript
复制
function makethisgraph(data) {
 var u = svg.selectAll("rect")
 .data(data)
 u .enter()
 .append("rect")
 .merge(u)
 .transition()
 .duration(1000)
 .attr("x", function(d) { return x(d.group); })
 .attr("y", function(d) { return y(d.value); })
 .attr("width", x.bandwidth())
 .attr("height", function(d) { return height - y(d.value); })
 .attr("fill", function(d, i) {
    //  if ( data = d1)
    //  {
    //      return "red"
    //  }
    //  else
    //  {
    //      return "green"
    //  }
  return "blue"
});

我试着写,如果我得到的数据是d1,那么它将是红色的,但它不起作用。还有别的办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-21 10:02:32

color添加makethisgraph参数

代码语言:javascript
复制
function makethisgraph(data, color) {
  ...
  u.enter()
   ...
   .attr("fill", color);
}

...
makethisgraph(d1, 'red');
makethisgraph(d2, 'green');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71203573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档