2016-03-24 13 views
0

分散チャートのすべてのプロットに対して異なる色を生成するランダムカラー関数があります。分散チャートプロットの固定カラーセットを使用

function getRandomColor() { 
          var letters = 'ABCDEF'.split(''); 
          var color = '#'; 
          for (var i = 0; i < 6; i++) { 
           color += letters[Math.floor(Math.random() * 16)]; 
          } 
          return color; 
         } 

しかし、私はプロットの固定カラーセットを教えてもよろしいですか?

回答UPDATE:

var colors = ['red','green','blue','#2A0A0A','#00FF40','#8A4B08',"#610B21","#0A2229","#5E610B","#3B0B2E","#FF0040","#B43104","#0B6121","#01DFA5","#2E2EFE","#DF01A5","#088A4B","#B40431","#1C1C1C","#B45F04"]; 


    type: 'scatter', 
    color: function (color, d) { 
     return colors[d.index]; 
     }, 
+0

あなたが事前に定義されたカラースケールのいずれかを使用できます。https://github.com/mbostock/d3/wiki/Ordinal-Scales#category20 –

答えて

1

the documentationによれば、色関数は、2つのパラメータ、最初のベースカラーである(わからない、これは現時点ではどこから来る)、およびデータを保持するオブジェクトを受信することができますポイント(インデックスを含む)のために。この情報を使用して、16進カラーストリングの配列からどのような色を使用するかを決定することができます。

例:

var colors = ['#1f77b4','#aec7e8','#ff7f0e','#ffbb78']; 
... 
c3.generate({ 
data: { 
    color:function(color, data){    
     return colors[data.index%colors.length]; 
     //Example way of picking out your colors from a fixed array 
    }, 
...} 
+0

私の場合は、私はできません異なっていますdata.colorは異なる凡例データに使用されているので、私のプロットは1つのデータで散らばっています。 – anson920520

+0

これを見てください:http://jsfiddle.net/ot19Lyt8/9/ – anson920520

+0

私はいつも答えがマークアップされている、あなたはあなたがあなたの問題を解決するためにそれをどのように使ったか(あるいはそれが単に答えだったのか)をコメントできますか? –

関連する問題