Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.js 如何修改单词云生成器的颜色_D3.js_Svg_Word Cloud - Fatal编程技术网

D3.js 如何修改单词云生成器的颜色

D3.js 如何修改单词云生成器的颜色,d3.js,svg,word-cloud,D3.js,Svg,Word Cloud,我正在使用创建Word Cloud Generator,我想根据文本的权重设置SVG中文本的颜色。例如: var tags = [ { key: 'first', value: 780 }, { key: 'second', value: 23 } ] 我希望键“first”的颜色为更高亮度键“second”的颜色d3的scale()函数也可以用于生成颜色渐变 请参见下面的示例 var tags = [ { key

我正在使用创建Word Cloud Generator,我想根据文本的权重设置SVG中文本的颜色。例如:

var tags = [
            { key: 'first', value: 780 },
            { key: 'second', value: 23 }
        ]
我希望键“first”的颜色为更高亮度键“second”的颜色

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"}]
参考

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"}]
参考文献