簡體   English   中英

d3字雲指定單個字的顏色

[英]d3 word cloud specify individual word color

我正在使用JD word cloud d3庫。 我知道如何改變雲的顏色。 為此,我使用以下代碼:

  ProductDetailView.prototype._drawCloud = function() {
    function draw(words) {
      var colors = [
        '#3498DB', '#1478BB', '#00589B', '#54A8FB', '#74C8FF'
      ];

但是,我希望能夠為某些單詞指定顏色。 我不清楚如何做到這一點,但我在網上發現了一個例子,表明它是可能的:

http://community.qlik.com/message/265261#265261

任何人都可以解釋我如何指定雲中某些單詞的顏色? 例如,我希望雲中的所有共和黨人都是紅色的。 我知道哪些詞是共和黨人。 我該如何指定顏色?

我是這樣做的:

1)在loadWords()映射我想要分配給特定對象的任何顏色

function loadWords(){
    var word1 = {
            text: 'word',
            size: 32,
            color:'#FF00FF'
            };
    var word2 = {
            text: 'word2',
            size: 45,
            color:'#3498DB'
            };
    return [word,word2]
    }

  d3.layout.cloud().size([300, 300])
      .words(loadWords())
      ...
      .start();

2)定義映射功能

  function fillColor(d,i){
      return d.color;
  }

3)並且function draw(words) {...添加這個

        .style("fill", fillColor)

最簡單的方法是修改以下行

      .style("fill", function(d, i) { return fill(i); })

      .style("fill", function(d, i) { if (check_for_republican) return republican_color ; else return democrat_color })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM