【问题标题】:Highcharts scatter plot. Bad working 'hover' of points near the edge of plotHighcharts 散点图。绘图边缘附近点的不良工作“悬停”
【发布时间】:2013-04-05 10:11:58
【问题描述】:

当散点放置在绘图边缘时,仅当鼠标悬停在绘图区域中的一部分点上时才会触发“悬停”事件。使用小标记,用户必须为工具提示“寻找像素”。 这是示例: 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 轴上属于第一个或最后一个类别。

更新:我的问题是“如何使'悬停'工作正常的点,放置在情节的边缘?”

【问题讨论】:

  • 好的,但是你的问题在哪里?您可以设置 min: -5 以在左侧留出一些空间,并添加 plotLine 以突出显示 xAxis 上的 0 值。
  • 2Paweł Fus:我更新了我的问题。

标签: javascript jquery highcharts


【解决方案1】:

这是分散系列的默认行为 - 仅在悬停标记时显示工具提示。您可以将系列类型更改为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/

【讨论】:

  • 感谢您的快速答复!排序让它变得更好,但工具提示仍然只在鼠标悬停在点的右半部分时显示(如果 x == 0)。我想不知道,当鼠标悬停在点的左半边而不改变最小值/最大值时是否可以触发“悬停”,或者我应该开始探索和修改 highcharts 的源代码。 P.S.:对不起我的英语不好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
相关资源
最近更新 更多