HighCharts区域图 - 仅在悬停标记时显示工具提示

时间:2013-07-08 10:32:39

标签: javascript charts highcharts tooltip

我搜索了答案,但没有找到任何帮助。所以也许你可以帮助我如何在我徘徊点(标记)时使工具提示仅在悬停时出现。区域类型使工具提示显示在图表上的任何位置。我想要的只是当我的鼠标在标记上时显示工具提示。似乎该图表“认为”当我在指针下移动指针标记时,我的鼠标已经在标记上。试图绑定系列对象的事件,但没有成功。

var chartOptions = {
            chart: {
                height: $('.sidebar').height()-100,
                zoomType: 'xy',
                spacingRight: 20,
                animation: true,
                renderTo: 'chart-container',

            },
            xAxis: {
                gridLineWidth: 1,
                type: 'linear',
                maxZoom: 1, // fourteen days
                title: {
                    text: 'Frequency (HZ)'
                }
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'Acceleration (g)'
                }
            },
            tooltip: {

                enabled: true,
                formatter: function(){
                    if(this.series.name != 'Acceleration (g): '){
                        return false ;

                    }else {
                        return 'Frequency: <b>'+ parseFloat(this.x).toFixed(2) + '</b> Hz<br/>'+
                            'Acceleration: <b>' + parseFloat(this.y).toFixed(4) + '</b> g';
                    }

                },

            },
            legend: {
                enabled: false
            },
            plotOptions: {
                area: {
                    trackByArea: false,
                    fillColor: {
                        linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1},
                        stops: [
                            [0, Highcharts.getOptions().colors[0]],
                            [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]
                        ]
                    },
                    lineWidth: 1,
                    marker: {
                        enabled: false,
                    },
                    shadow: false,
                    states: {
                        hover: {
                            lineWidth: 1
                        }
                    },
                    threshold: null,

                },
            },

            series: [{
                type: 'area',
                name: 'Acceleration (g): ',
                pointInterval: 1.953125,
                pointStart: 0,
                data: dataFFT.y,

            }]
        };

1 个答案:

答案 0 :(得分:3)

无法更改此行为 - 而是禁用区域系列的标记和工具提示(在格式化程序中返回false)并使用散点图系列。 Scatter系列完全符合您的需要。请参阅示例:http://jsfiddle.net/mZt3r/

        tooltip :{ 
            shared: true,
            formatter: function() {
                if(this.points && this.points.length == 1) {
                    return false;   
                } else {
                    var p = this;
                    return 'x: ' + p.x + '<br/>y: ' + p.y;
                }
            }
        },