我用d3.js打字,我创建了显示数据的图形,黑色矩形的高度取决于我从generateData中获得的数字,数据是任何大于0的数字。对于此数据,我想在悬停时显示此矩形的相应数字。问题是我从打字错误
没有重载与此调用匹配。重载% 1,共% 2,'(选择器:string):Selection〈BaseType,unknown,HTMLElement,any〉',gave the following error. Argument of type 'ParentNode|“null”不能分配给类型为“string”的参数。类型“null”不能分配给类型“string”。重载第2个,共2个,“(node:BaseType):Selection〈BaseType,unknown,null,undefined〉',给出了以下错误。|“null”不能分配给类型“BaseType”的参数。类型“ParentNode”不能分配给类型“BaseType”。类型“ParentNode”缺少类型“Document”中的以下属性:URL,alinkColor,all,anchors,and 191 more.ts(2769)
这是我目前为止写的代码:
const data = generateData(50);
const margin = { top: 10, right: 30, bottom: 30, left: 40 },
width = 800 - margin.left - margin.right,
height = 400 - margin.top - margin.bottom;
const svg = d3
.select(".visualization")
.append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
const rects = svg.selectAll("rect").data(data).enter().append("rect");
rects
.attr("x", (_, i) => i * (width / data.length))
.attr("y", (d) => height - d)
.attr("width", () => width / data.length - 1)
.attr("height", (d) => d)
.on("mouseover", function (d, i) {
d3.select(this.parentNode).append("text").text(d);
});
export {};
1条答案
按热度按时间zxlwwiss1#
您可以用途: