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

如何为从json读取的d3.js中的矩形添加工具提示,d3.js,tooltip,D3.js,Tooltip,我想创建矩形,并有一个相同的工具提示 我的json数据是: [ [{ "a":10},{"b":11}], [{ "c":1},{"d":1}] ] 我的代码是: var svggraph = d3.select("#graph").append("svg").attr("id","svggraph") .attr("width", 400) .attr("height", 300) .append("g") .attr("transform", "

我想创建矩形,并有一个相同的工具提示

我的json数据是:

[
   [{ "a":10},{"b":11}],
   [{ "c":1},{"d":1}]
]
我的代码是:

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; 


}
var svggraph=d3.select(“#graph”).append(“svg”).attr(“id”,“svggraph”)
.attr(“宽度”,400)
.attr(“高度”,300)
.附加(“g”)
.attr(“转换”、“翻译(50)”+margin.top+”);
var-yvar=20;
var x_轴=1;
d3.json(“Data.json”),函数(Data)
{
数据=数据;

对于(x=0;x在SVG中添加工具提示的最简单方法是将
title
元素附加到要为其显示工具提示的元素(参见示例)

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

svggraph.append("rect")
  // set attributes
  .append("title")
  .text(function(d) { return "Tooltip"; });

可能会有帮助。我添加了显示测试工具提示的行,但没有帮助。我正在编辑代码,以便它反映相同的内容。您需要将
标题
附加到
rect
,即
svggraph.append(“rect”).append(“title”)
。谢谢lars。它正在工作。很好,我将添加此作为参考答案。