1

私は作業中のGoogle Combochartを持っています。凡例のアイテムにカーソルを合わせたときに、特定の瞬間のハイライトを削除したいと考えています。オプション「enableInteractivity」を使用しましたが、これによりツールチップなども削除されます。

もちろん、ツールチップを保持したい。これがどのように可能であるかについて、インターネット上で何も見つけられないようです。ツールチップのみを無効にできることは知っていますが、この強調表示を無効にする方法はありません(私が望むもの)。

誰も私がこれを達成する方法を知っていますか?

前もって感謝します!

4

2 に答える 2

1

これを行うための組み込みメソッドはありません。ハイライトは SVG に描画され、ツールチップも Google 内部チャート API コードによって描画されます。そのため、ハイライトが SVG に描画されないようにする方法を見つける必要があります (ツールチップを許可しながら) か、この回答のように対話機能を無効にして独自のツールチップを実装する必要があります。以下に引用された回答(jeffery_the_windによる):

最終的に、かなりうまく機能するカスタム ツール ヒント ポップアップを作成しました。

バブル チャートの div が次のように定義されていると仮定します。

<div id="bubble_chart_div"></div>

次に、以下の JavaScript を使用しました。Google チャート データの設定方法と Google チャート パッケージの読み込み方法については省略していることに注意してください。このコードは、カスタム ツールリップ ポップアップを取得する方法を示しているだけです。

    var mouseX;
    var mouseY;
    $(document).mousemove( function(e) {
        mouseX = e.pageX; 
        mouseY = e.pageY;
    });

    /*
     *
     *instantiate and render the chart to the screen
     *
     */
    var bubble_chart = new google.visualization.BubbleChart(document.getElementById('bubble_chart_div'));
    bubble_chart.draw(customer_product_grid_data_table, options);

    /*
     * These functions handle the custom tooltip display
     */
    function handler1(e){
        var x = mouseX;
        var y = mouseY - 130;
        var a = 1;
        var b = 2;
        $('#custom_tooltip').html('<div>Value of A is'+a+' and value of B is'+b+'</div>').css({'top':y,'left':x}).fadeIn('slow');
    }
    function handler2(e){
        $('#custom_tooltip').fadeOut('fast');
    }

    /*
     *  Attach the functions that handle the tool-tip pop-up
     *  handler1 is called when the mouse moves into the bubble, and handler 2 is called when mouse moves out of bubble
     */
    google.visualization.events.addListener(bubble_chart, 'onmouseover', handler1);
    google.visualization.events.addListener(bubble_chart, 'onmouseout', handler2);
于 2013-04-12T02:43:32.173 に答える