2016-02-15 2 views
1

Как указано в документации d3.scale.category20()Constructs a new ordinal scale with a range of twenty categorical colors:. Но я получаю тот же цвет. Что я делаю не так?d3.scale.category20() возвращается же цвет

var color = ''; 
 
for (i = 1; i < 21; i++) { 
 
    var test = d3.scale.category20(); 
 
    color += test(i); 
 
} 
 
document.write(color);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

ответ

1

Вы создаете цветовую гамму каждый раз в течение цикла.

Переместить это вне для цикла var colorscale = d3.scale.category20();

var color = ''; 
 
var colorscale = d3.scale.category20(); 
 
for (i = 1; i < 21; i++) { 
 

 
    color = colorscale(i); 
 
    document.write("<br>"); 
 
    document.write(color); 
 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

Смежные вопросы