如何修改文字云生成器的颜色

时间:2015-12-30 23:20:50

标签: d3.js svg word-cloud

我正在使用Jason Davies's Word Cloud Generator创建Word Cloud Generator,并且我想根据文本的重量设置 SVG 中的文本颜色。例如:

var tags = [
            { key: 'first', value: 780 },
            { key: 'second', value: 23 }
        ]

我想要键的颜色' 首先' 更高亮关键' 第二'

1 个答案:

答案 0 :(得分:3)

d3的scale()函数也可用于生成颜色渐变。

参见下面的示例

var tags = [
        { key: 'first', value: 780 },
        { key: 'second', value: 23 }
    ];

var maxValue = d3.max(tags,function(d){ return +d.value});
var minValue = d3.min(tags,function(d){ return +d.value});
var centerValue = (maxValue + minValue)/2;

//color gradient
var color = d3.scale.linear()
    .domain([minValue, centerValue, maxValue])
    .range(["red", "white", "green"]);//define your gradient range colors

tags.forEach(function(tag) {
    tag.color = color(+tag.value);
});

输出标记

[{"key":"first","value":780,"color":"#ff0000"},{"key":"second","value":23,"color":"#008000"}]

参考http://synthesis.sbecker.net/articles/2012/07/16/learning-d3-part-6-scales-colors