2013-04-05 109 views
0

當散點放置在繪圖邊緣上時,只有當鼠標懸停在繪圖區域中某點的一部分上時纔會觸發「懸停」事件。對於小標記,用戶必須爲工具提示「尋找像素」。 下面是示例: http://jsfiddle.net/Efm4p/4/Highcharts散點圖。在繪圖邊緣附近點的懸停工作「懸停」

$(function() { 
var chart; 

$(document).ready(function() { 
    chart = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'container', 
      type: 'scatter', 
     }, 
     xAxis:{ 
      min:0, 
      max: 100}, 
     yAxis:{ 
      min:0, 
      max:2, 
      tickInterval:1, 
      lineWidth:1 
     }, 
     series: [{ 
      marker:{ 
       lineWidth:1, 
       lineColor:'BBBBBB', 
       radius:3 
      }, 
      data: [{x: 10, y: 2}, {x: 0.5, y:1}, {x: 0, y: 1}, {x: 12, y: 2}, {x: 11, y: 2}] 
     }] 
    }); 
}); 

}); 

在這個例子中很難得到一個工具提示點{X:0,Y:1}。

我想爲軸設置minPadding/maxPadding,但是當我清晰地設置最小/最大值時,它們不起作用。 顯式設置最小/最大值很重要,因爲實際圖表顯示x軸的%表格0到100和y軸的類別。一些點通過x軸具有0%或100%的值,並且通過y軸屬於第一或最後一個類別。

更新:我的問題是「如何使'懸停'正常工作點,放置在劇情的邊緣?

+0

好了,但如果是你的問題?你可以設置min:-5來在左側留出一些空間,然後添加plotLine來突出顯示xAxis上的0值。 – 2013-04-05 11:27:25

+0

2PawełFus:我更新我的問題。 – 2013-04-05 11:56:06

回答

0

這是分散系列的默認行爲 - 僅在懸停標記時顯示工具提示。您可以將系列類型更改爲line,並設置lineWidth: 0。這應該會更好。

唯一的限制是,對於線/花鍵數據應該被排序由x值上升,並且對於相同的x值重複是不允許的。簡單地將數據添加到您的數據將解決該問題。

(function() { 
    return [{x: 10, y: 2}, {x: 0.5, y:1}, {x: 0, y: 1}, {x: 12, y: 2}, {x: 21, y: 1}] 
      .sort(function(a,b){ return a.x - b.x }); 
})() 

組合例:http://jsfiddle.net/Efm4p/5/

+0

謝謝你的快速回答!排序使它好得多,但工具提示仍然只顯示鼠標懸停點的右半部分(如果x == 0)。我不知道,在不改變min/max的情況下,鼠標移到左半部分時是否可以觸發'懸停',或者我應該開始探索並修改highcharts的源代碼。對不起,我的英語不好! – 2013-04-05 12:18:12