3

答えを探しましたが、役立つものは何も見つかりませんでした。ですから、ドット(マーカー)をホバリングしているときにホバー時にのみツールチップを表示する方法を教えてください。エリア タイプでは、チャートのどこにでもツールヒントが表示されます。マウスがマーカー上にあるときにツールチップを表示するだけです。ポインターの下にポインター マーカーを移動すると、マウスが既にマーキングされているとグラフが "考えている" ようです。シリーズ オブジェクトのイベントにバインドしようとしましたが、うまくいきませんでした。

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,

            }]
        };
4

1 に答える 1

3

その動作を変更することはできません。代わりに、エリア シリーズのマーカーとツールチップを無効にし (フォーマッターで false を返します)、散布シリーズを使用します。シリーズを必要な方法で正確に散布します。例を参照してください: 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;
                }
            }
        },
于 2013-07-08T13:39:53.297 に答える