Svg Google图表:将Sankey.node.label设置为HTML链接

Svg Google图表:将Sankey.node.label设置为HTML链接,svg,google-visualization,Svg,Google Visualization,我正在使用Google Charts中的Sankey图表,我已经知道如何在工具提示功能中使用html,但我不太清楚如何调整它,以便图形的其他功能也可以使用html功能 理想情况下,我希望将Sankey.node.label元素设置为能够链接到站点上的其他页面 我试过这样的方法 data.addColumn({'type':'string', 'role': 'From', 'p': {'html': true} }); 及 但它们似乎不起作用。 感谢您的建议 虽然我使用jQuery和Jav

我正在使用Google Charts中的Sankey图表,我已经知道如何在工具提示功能中使用html,但我不太清楚如何调整它,以便图形的其他功能也可以使用html功能

理想情况下,我希望将Sankey.node.label元素设置为能够链接到站点上的其他页面

我试过这样的方法

  data.addColumn({'type':'string', 'role': 'From', 'p': {'html': true} });

但它们似乎不起作用。
感谢您的建议

虽然我使用jQuery和Javascript在某种程度上实现了这一点,但它从未获得我想要的全部功能,因此我放弃了使用Sankey。但是,如果有人想知道如何将sankey.node.label设置为html链接,这就是我的解决方案:

$(document).ready(function() {
setTimeout(function(){
// Selects SVG TAG and ADDS LINK FUNCTIONALITY
var svgtag = document.querySelector("#sankey_multiple > div > div:nth-child(1) > div > svg")
$(svgtag).attr("xmlns:xlink", "http://www.w3.org/1999/xlink")

var linkNode = document.querySelector("#sankey_multiple > div > div:nth-child(1) > div > svg > g:nth-child(3) > text:nth-child(1)")
$(linkNode).wrap( "<a xlink:href='examplelinkone.com'></a>" )

var linkNode = document.querySelector("#sankey_multiple > div > div:nth-child(1) > div > svg > g:nth-child(3) > text:nth-child(3)")
$(linkNode).wrap( "<a xlink:href='examplelinktwo.com'></a>" )

$("#sankey_multiple").html($("#sankey_multiple").html());

}, 500);
});
所以在这一点上,我会在页面加载100毫秒后调用它,这样在加载所有内容时链接都会就位。这工作得很好,链接已加载且可遵循

但是,执行此“刷新”只需重写Sankey并覆盖工具提示功能等其他内容。这就是我决定这只是变得难以控制,并决定追求一种不同的策略


希望这可能会给其他人一些想法,如何与这个最终虽然

虽然我使用jQuery和Javascript在某种程度上实现了这一点,但它从未获得我想要的全部功能,因此我放弃了使用Sankey。但是,如果有人想知道如何将sankey.node.label设置为html链接,这就是我的解决方案:

$(document).ready(function() {
setTimeout(function(){
// Selects SVG TAG and ADDS LINK FUNCTIONALITY
var svgtag = document.querySelector("#sankey_multiple > div > div:nth-child(1) > div > svg")
$(svgtag).attr("xmlns:xlink", "http://www.w3.org/1999/xlink")

var linkNode = document.querySelector("#sankey_multiple > div > div:nth-child(1) > div > svg > g:nth-child(3) > text:nth-child(1)")
$(linkNode).wrap( "<a xlink:href='examplelinkone.com'></a>" )

var linkNode = document.querySelector("#sankey_multiple > div > div:nth-child(1) > div > svg > g:nth-child(3) > text:nth-child(3)")
$(linkNode).wrap( "<a xlink:href='examplelinktwo.com'></a>" )

$("#sankey_multiple").html($("#sankey_multiple").html());

}, 500);
});
所以在这一点上,我会在页面加载100毫秒后调用它,这样在加载所有内容时链接都会就位。这工作得很好,链接已加载且可遵循

但是,执行此“刷新”只需重写Sankey并覆盖工具提示功能等其他内容。这就是我决定这只是变得难以控制,并决定追求一种不同的策略

希望这可能会给其他人一些想法,如何与这个最终虽然

    $("#svgid").html($("#svgid").html());