我有一个数据集,该数据集基于我想打印的黑色或红色“警告:joe今天已经观看了14只猫的视频”的值。如果值大于10,则为红色。
在使用d3或html格式时,我该怎么做?
var dataset = [14, 5, 26, 23, 9];
d3.select("body").selectAll("p")
.data(dataset)
.enter()
.append("p")
.style('fill', 'darkOrange')
.text(function(d, i){
for (i=0; i<5; i++)
{
result = "Warning: Joe watched " + d + " cat videos today";
}
return result;
});
需要它看起来像这样
最佳答案
看一下这个
添加样式属性以根据数组的值更改文本的颜色
.style("color", function(d, i) {
return d > 10 ? "#ff0000" : "#000";
})
并在.text(function(d,i){}中添加else来根据条件更改文本,请参见我的答案
var dataset = [14, 5, 26, 23, 9];
d3.select("body").selectAll("p")
.data(dataset)
.enter()
.append("p")
.style('fill', 'darkOrange')
.style("color", function(d, i) {
return d > 10 ? "#ff0000" : "#000";
})
.text(function(d, i){
for (i=0; i<dataset.length; i++)
{
if(d > 10)
{
result = "Warning: Joe watched " + d + " cat videos today";
}
else
{
result = "Joe watched " + d + " cat videos today";
}
}
return result;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://d3js.org/d3.v5.min.js"></script>