饼图的颜色模式

时间:2016-08-22 12:55:15

标签: javascript math

我想在饼图中使用三种颜色。我的问题是我不希望连续出现相同的2种颜色 这是我的简化代码:

var colors = ["R", "G", "B"];

for(var i = 2; i < 30; i++) {
    if(i % 2 == 0) {
        for(var x = 0; x < i; x++) document.write(colors[x % 2]);
    }else if(i % 3 == 0) { 
        for(var x = 0; x < i; x++) document.write(colors[x % 3]);
    }else {
        if(i % 3 == 1) {
            for(var x = 0; x < i; x++) document.write("<span style='color:red'>" + colors[x % 3] + "</span>");
        }else {
            for(var x = 0; x < i; x++) document.write(colors[x % 3]);
        }
    }
    document.write("<br>");
}

这是一个代码相同的JS Fiddle,红色文字显示问题所在。该行以R开头并以R结尾,使它们在饼图中连续出现两次。

我可以做些什么来避免相同的颜色连续出现两次?

1 个答案:

答案 0 :(得分:1)

对于问题情况,只需重复除最后一段之外的所有颜色的前两种颜色。对于最后一段,请使用第三种颜色。像这样:

for(var x = 0; x < i-1; x++) document.write(colors[x % 2]);
document.write(colors[2]);

这有帮助吗?