【发布时间】:2018-06-23 03:24:00
【问题描述】:
我正在使用这个d3 Radar Chart,现在我想为组着色。
这是我的数据 -
var data = [
[
{axis:"volume(N)",value:0.074095419,group:"one"},
{axis:"heightBBOX(N)",value:0.618900916,group:"one"},
{axis:"floor_area(N)",value:0.239036487,group:"one"},
{axis:"RatioSunExp_TotWall",value:0.670908597,group:"one"
}],
[
{axis:"volume(N)",value:0.373966243,group:"two"},
{axis:"heightBBOX(N)",value:0.418068276,group:"two"},
{axis:"floor_area(N)",value:0.039064467,group:"two"},
{axis:"RatioSunExp_TotWall",value:0.341108011,group:"two"
}],
[
{axis:"volume(N)",value:0.675991163,group:"two"},
{axis:"heightBBOX(N)",value:0.815015265,group:"two"},
{axis:"floor_area(N)",value:0.94061374,group:"two"},
{axis:"RatioSunExp_TotWall",value:0.974062924,group:"two"
}],
[
{axis:"volume(N)",value:0.875950233,group:"two"},
{axis:"heightBBOX(N)",value:0.210852068,group:"two"},
{axis:"floor_area(N)",value:0.540645865,group:"two"},
{axis:"RatioSunExp_TotWall",value:0.074841546,group:"two"
}]]
这些是我的颜色选项
var color = d3.scale.ordinal()
.domain(["one","two"])
.range(["#CC333F","#53e87d"]);
我想用特定颜色为组 one 着色,用另一种颜色为组 two 着色。我该怎么办?
更新:当我使用下面的代码时,所有的图表都是黄色的。所以我知道该组是未定义的。我该如何解决这个问题?
color: function(d){
if(d.group == "one"){
return "red";
}
if(d.group == "two"){
return "green";
}
else{
return "yellow";
}
}
【问题讨论】:
-
你能给我们看一个完整的代码吗?
-
@Temani-afif 这是一个有效的full code
-
您评论的第二种方式效果很好...实际效果不佳:jsfiddle.net/c3wu7ftr/2
-
@Temani-afif 但这不是我想要的。我需要用一种颜色(例如红色)为“一”组着色,并用另一种颜色(例如绿色)为“二”组着色。在此代码中,数据集(组“二”)的 3 必须为绿色,一个数据集(组“一”)必须为红色。
-
好的,让我检查一下
标签: javascript d3.js colors radar-chart