【问题标题】:d3 word cloud specify individual word colord3词云指定单个词颜色
【发布时间】:2015-01-14 18:38:35
【问题描述】:

我用的是京东词云d3库。我了解如何更改云的颜色。为此,我使用以下代码:

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

但是,我希望能够为某些单词指定颜色。我不清楚如何做到这一点,但我在网上找到了一个例子,表明这是可能的:

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

谁能解释我如何指定云中某些单词的颜色?例如,我希望我云中的所有共和党人都涂成红色。我知道哪些词是共和党人。如何指定它们的颜色?

【问题讨论】:

    标签: javascript d3.js colors word-cloud


    【解决方案1】:

    我是这样做的:

    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)
    

    【讨论】:

      【解决方案2】:

      最简单的方法是修改以下行

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-22
        • 1970-01-01
        • 1970-01-01
        • 2021-10-13
        • 1970-01-01
        • 1970-01-01
        • 2011-04-11
        相关资源
        最近更新 更多