是否可以链接散点图的所有/部分点,这样每当您点击它们时,会打开一个新标签并触发该点上链接的超链接?
我在Django webserver实现中使用plotly,这意味着用javascript渲染plotly。
答案 0 :(得分:4)
您可以使用click handler来实现此目的。但是,由于大多数浏览器始终试图阻止弹出窗口,因此可能很难在新选项卡中打开。
var trace1 = {
x: [1, 2, 3],
y: [1, 6, 3],
mode: 'markers',
type: 'scatter',
text: ['Plotly', 'StackOverflow', 'Google'],
hoverinfo: 'text',
marker: { size: 12 }
};
var links = ['https://plot.ly/', 'http://stackoverflow.com/', 'https://google.com/'];
var data = [ trace1 ];
var layout = {
title:'Hyperlinked points'
};
var myPlot = document.getElementById('myDiv');
Plotly.newPlot(myPlot, data, layout);
myPlot.on('plotly_click', function(data){
if (data.points.length === 1) {
var link = links[data.points[0].pointNumber];
// Note: window navigation here.
window.location = link;
}
});

<!-- Plotly.js -->
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="myDiv" style="width: 480px; height: 300px;"></div>
&#13;