首页 > 解决方案 > 在条形图上显示负值

问题描述

我正在尝试创建一个图表,我可以在其中显示团队的分差。显然有些球队有负分差,而有些球队有正分差。

我正在使用的代码是:

myRectangle.enter()
    .append("rect")
    .attr("x", function(d, i) {
        return 45 + i\*50;
        })
    .attr("y", function(d) {
        if (d.Pts\_diff < 0) {return 800 +(-1)\*d.Pts\_diff};
        else {return 400 - d.Pts\_diff;}
        })
    .attr("width", 45)
    .attr("height", function(d) {
        return d.Pts\_diff;
    .attr("fill", function(d) {
        if (d.Pts\_diff > 300) {return "red";}
        else if (d.Pts\_diff > 200) {return "orange";}
        else if (d.Pts\_diff > 100) {return "yellow";}
        else if (d.Pts\_diff > 0) {return "green";}
        else if (d.Pts\_diff > -100) {return "blue";}
        else {return "purple;"}
        })
    })

当我这样做时,我收到一个错误,说我有一个意外的令牌“else”。

有什么建议么?

标签: javascripthtml

解决方案


我想你的问题是这条线

if (d.Pts\_diff < 0) {return 800 +(-1)\*d.Pts\_diff};

你有一个额外的“;” 最后,因为下一行以else. 删除分号


推荐阅读