D3.js d3检查类型并相应地设置类型
我正在使用d3中的散点图,图上的点代表不同的纸张。图表上的论文可以有不同的类型,例如在图书馆、cites、被引用者,每种类型都有不同的颜色。单击“在图书馆”中键入的纸张时,将从数据库中检索单击的纸张引用的纸张和引用单击的纸张的纸张,并根据其类型在图表上显示为不同的颜色 我遇到的问题是,例如,最初有4篇论文显示在图表上,它们都是_库中的类型。当我点击其中一个,链接到它的文件就会出现。但我想要的是,如果一篇论文引用或被一篇论文引用,而这篇论文已经属于_图书馆的类型(已经在图表上),我想将其识别为_图书馆的类型,并将类型更改为lets say 键入“combo”,而不是将其更改为“cites”或“Quieted by”,这样在视觉上我仍然知道它在库中,但它也是链接到所选论文的论文。这是我到目前为止检查检索到的论文是否为“In_library”类型的相关代码,如果是,请将类型更改为“combo”,否则请将类型改为“cites”或“cited by”(取决于它所处的连接)D3.js d3检查类型并相应地设置类型,d3.js,D3.js,我正在使用d3中的散点图,图上的点代表不同的纸张。图表上的论文可以有不同的类型,例如在图书馆、cites、被引用者,每种类型都有不同的颜色。单击“在图书馆”中键入的纸张时,将从数据库中检索单击的纸张引用的纸张和引用单击的纸张的纸张,并根据其类型在图表上显示为不同的颜色 我遇到的问题是,例如,最初有4篇论文显示在图表上,它们都是_库中的类型。当我点击其中一个,链接到它的文件就会出现。但我想要的是,如果一篇论文引用或被一篇论文引用,而这篇论文已经属于_图书馆的类型(已经在图表上),我想将其识别为_图
感谢您的帮助我是d3新手,但如果我尝试的方法不可行,但如果有其他方法实现这一点,我也会非常感激。提前谢谢 在我看来,您在这里太努力了,没有利用
d3
功能。你有一堆独特的圆圈;绘制绘图时,希望绘图中的新颜色为特定颜色。更新时,您希望已经存在的颜色为新颜色。这听起来像是专为这部电影量身定做的
这里有一个问题。您正在努力解决的确切部分是什么?您提供的代码示例是否与您怀疑的一样?你现在被困在哪里?@Matthijsbrons不,我也不会怀疑:(
function clickHandler (d, i) {
d3.json("connection2.php?paperID="+d.ID, function(error, dataJson) {
dataJson.forEach(function(d) {
d.YEAR = +d.YEAR;
d.counter = +d.counter;
if (d.type === "In_library") {
d.type = "combo";
}
else d.type = "cited by";
allData.push(d);
}
})
}
function update(data){
// this is our overall update selection
var sel = svg.selectAll('circle')
.data(data, function(d,i){
return d.id;
});
// those that are updated
// mark with combo class
sel.attr("class", "combo");
// these are the newly arriving guys
sel.enter()
.append("circle")
.attr('cx', function(d){
return s(d.x);
})
.attr('cy', function(d){
return s(d.y);
})
.attr('r', 25)
.attr("class", "in_library");
}