【问题标题】:Plotly.js Activate HovertextPlotly.js 激活 Hovertext
【发布时间】:2016-10-21 21:59:19
【问题描述】:

我正在使用 plotly 绘制一些点,如果这些点满足一个条件,我希望当您将鼠标悬停在要显示的点附近时,它会显示的 hoverinfo。

想要的伪代码

z = {'x': x_val, 'y': y_val , 'type' : 'scatter' , 'mode' : 'markers', 
'hoverinfo': 'text', 'hovermode' : 'closest'}
z['text'] = text

// check condition   
if ( condition)
{
    z['hovermode'] = 'on' //plotly doesn't have 'on' as a setting :(
}

不幸的是,hovermode 的唯一选项似乎是:最接近、x、y 和 false。

有什么方法可以激活 hoverinfo 吗?我知道我可以设置 mode = 'markers + text' 但它不那么漂亮。

【问题讨论】:

    标签: javascript plotly


    【解决方案1】:

    您可以使用plotly_hover 事件并更改具有hoverlayer 类的悬停信息的不透明度。它具有与您所要求的相反的逻辑,即它隐藏了不需要的悬停信息,但它产生了相同的结果。

    在下面的 sn-p 中,只有 y 值大于 2 的点才具有 hoverinfo。

    var data = [
      {
        x: [0, .5, 1, 1.5, 2],
        y: [1, 3, 2, 4, 2],
        mode: 'markers',
        marker: {size:16},
        text: ['Text A', 'Text B', 'Text C', 'Text D', 'Text E'],
        type: 'scatter'
      }
    ];
    Plotly.newPlot('myDiv', data);
    
    var myPlot = document.getElementById('myDiv');
    myPlot.on('plotly_hover', function(data){
      var infotext = data.points.map(function(d){
        Plotly.d3.selectAll(".hoverlayer").style("opacity", (d.y > 2) ? 1: 0);
      });
    });
    <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
    <div id="myDiv" style="width: 100%; height: 500px;"></div>

    【讨论】:

      猜你喜欢
      • 2011-08-26
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      • 2011-05-31
      • 2010-10-16
      相关资源
      最近更新 更多