如何在从json读取的d3.js中为矩形添加工具提示

kri*_*a_v 3 tooltip d3.js

我想创建矩形并提供相同的工具提示.

我的json数据是:

[
   [{ "a":10},{"b":11}],
   [{ "c":1},{"d":1}]
]
Run Code Online (Sandbox Code Playgroud)

我的代码是:

var svggraph = d3.select("#graph").append("svg").attr("id","svggraph")
    .attr("width", 400)
    .attr("height", 300)
    .append("g")
    .attr("transform", "translate(50," + margin.top + ")");

var yvar = 20;
var x_axis = 1;

d3.json("Data.json", function(data) 
    {
        rectdata = data;

        for(x=0;x<rectdata.length;x++)
        {

          console.log(rectdata[x]);
          for (index=0;index<2; index++)
          {
            svggraph.append("rect")
                              .attr("x", setxaxis(index)) 
                              .attr("y", setyaxis(yvar))
                              .attr("width", 20)
                              .attr("height", 21)
                              .style("fill","white")    
                              .style("stroke","black");
                  svggraph.append("svg:title").text(function(d) { return "Tooltip"; });

          }

            yvar = yvar+21;
        }



    });



function setxaxis(x)
{


    if (x==4) return;

    if(x==0) 
    {
        return x_axis=0
    }
    else
    {
        x_axis=x_axis+25;
    }

    return x_axis; 

}
function setyaxis(y)
{

    return y; 


}
Run Code Online (Sandbox Code Playgroud)

如何在相应矩形上创建的2X2矩形阵列上添加"a:10"或"b:11"等工具提示?

Lar*_*off 6

在SVG中添加工具提示的最简单方法是将title元素附加到要显示工具提示的元素(请参阅此问题).

在您的代码中,这看起来像这样.

svggraph.append("rect")
  // set attributes
  .append("title")
  .text(function(d) { return "Tooltip"; });
Run Code Online (Sandbox Code Playgroud)