嗨,如果有任何infovis用户,他们可能会提供帮助,我是一个infovis noob,刚刚建立并运行了我的力导向图,通过Json传递我的节点,不管怎样,我可以修改每个节点的弹出信息窗口吗,就像人们在谷歌地图上点击标记时看到的那样,我已经在圆圈里转了几个小时了。
谢谢。
以下是我尝试将图像附加到每个节点,但仍然无法使其工作:
onCreateLabel: function(domElement, node) {
var actionElem;
var link = document.createElement('a');
var frame = document.createElement('div');
actionElem = document.createElement('img');
// http://promote.opera.com/logos/Opera-icon-high-res.png
//actionElem.src = photoUrls[node.id];
actionElem.src = 'http://promote.opera.com/logos/Opera-icon-high-res.png';
actionElem.className = 'profilePicture';
//actionElem.onclick = function() { nodeOnClick(node) };
link.href = '/' + node.id;
link.className = 'link';
link.target = '_blank';
link.innerHTML = node.name;
frame.className = 'detailFrame';
frame.appendChild(actionElem);
frame.appendChild(document.createElement('br'));
frame.appendChild(link);
domElement.appendChild(frame);
},
您可以通过以下操作向节点添加图像:
onCreateLabel: function(label, node){
label.innerHTML = "<div><img src='/images/node.png'/></div>;
}
要添加唯一的图像,您可以在json:中输入图像名称
onCreateLabel: function(label, node){
label.innerHTML = "<div><img src='/images/"+node.data.image+"'/></div>;
}
如果您希望图像出现在悬停节点时出现的弹出窗口中,则可以使用"提示"。在初始化可视化时添加以下代码(例如,强制)。
Tips: {
enable: true,
onShow: function(tip, node) {
tip.innerHTML = "<div class="tip-title"> <img src = "your-image-url" >" + "</div>" ;
}
}