【问题标题】:Background color to axis text in D3D3中轴文本的背景颜色
【发布时间】:2017-12-02 19:45:55
【问题描述】:

我想在 D3 中有条件地为 y 轴文本提供背景颜色,但遗憾的是“填充”属性不起作用,因为它为轴文本提供颜色而不是背景,如果我可以从 SO 那里得到解决方案。

这是它的样子。

这是有条件编写的代码块。

.js

vis.selectAll(".yaxis text")  // select all the text elements for the xaxis
          .style("font-size", "15px")
          .style("font-weight", "bold")
        //   .style("fill","green")
          .style("fill", function(d,i) {
            var str;

            console.log(d);
            if (i == 1) {
            str = 'gray';

            }else if(i == 2){
                str = 'red';

            }else if(i == 3){
                str = 'Blue';

            }
            else if(i == 4){
                str = 'green';

            }

            return str;
            })

【问题讨论】:

标签: javascript css d3.js


【解决方案1】:

你应该在fill函数中定义第二个参数:

.style("fill", function(d,i) {

然后

if (i == 1) {
      str = 'gray';

    } ...

或将d 与文本值进行比较:

if (d == 'Positive') {
      str = 'green';

    } 

【讨论】:

  • 感谢您的回复芽..!我已根据您的答案更改了代码,但仍然无法正常工作。!
  • 但这是我目前拥有的,如图所示。!我想要的应该是 bl.ocks.org/andreaskoller/7674031 但有条件的。!
  • 对此有任何想法吗?
  • 小提琴更新:jsfiddle.net/tomatetz/p9m9bnv3/2 你可以填充矩形并在顶层添加文本
  • 如果没有问题,你能在我的代码中指出我需要更新什么吗?
猜你喜欢
  • 2013-12-13
  • 2017-03-02
  • 2013-03-22
  • 1970-01-01
  • 2015-09-09
相关资源
最近更新 更多