单击点时绘制散点图超链接

Ign*_*asi 4 javascript django plot django-templates plotly

是否可以链接散点图的所有/部分点,因此每当您单击它们时,都会打开一个新选项卡并触发该点上链接的超链接?

我在 Django 网络服务器实现中使用 plotly,这意味着 plotly 是用 javascript 呈现的。

ema*_*key 7

您可以使用点击处理程序来实现这一点。但鉴于大多数浏览器始终试图阻止弹出窗口,因此在新选项卡中打开可能很困难。

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;
  }
});
Run Code Online (Sandbox Code Playgroud)
<!-- Plotly.js -->
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>

<div id="myDiv" style="width: 480px; height: 300px;"></div>
Run Code Online (Sandbox Code Playgroud)