我正在使用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
有谁能解释我如何指定云中某些单词的颜色?例如,我希望云中的所有共和党人都是红色的。我知道哪些词是共和党人。如何指定颜色?
答案 0 :(得分:4)
我是这样做的:
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)
答案 1 :(得分:0)
最简单的方法是修改以下行
.style("fill", function(d, i) { return fill(i); })
到
.style("fill", function(d, i) { if (check_for_republican) return republican_color ; else return democrat_color })