0

当散点放置在绘图边缘时,仅当鼠标悬停在绘图区域中的一部分点上时才会触发“悬停”事件。使用小标记,用户必须为工具提示“寻找像素”。这是示例:http: //jsfiddle.net/Efm4p/4/

$(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,但是当我明确设置 min/max 时它们不起作用。明确设置最小值/最大值很重要,因为真实图表通过 x 轴显示从 0 到 100 的百分比,通过 y 轴显示类别。一些点在 x 轴上具有 0% 或 100% 的值,并且在 y 轴上属于第一个或最后一个类别。

Upd:我的问题是“如何使'悬停'对位于情节边缘的点正常工作?”

4

1 回答 1

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/

于 2013-04-05T12:04:27.793 回答