簡體   English   中英

在Google圖表加載時顯示工具提示

[英]Show tooltip on load with google charts

我正在嘗試使用tooltip.trigger = 'selection'setSelection([{row:4,column:null}]) ,但是該工具提示不會自動顯示。 僅當您單擊另一個工具提示時。

這是顯示問題的jsfiddle

有什么想法我可以嘗試嗎?

謝謝!

我最終只是使用注釋。 盡管如果有人想辦法,我絕對會對工具提示感興趣。

jsfiddle

var gmapData = [[{"label":"Date","type":"date"},"One",{"role":"annotation","type":"string"},"Two",{"role":"annotation","type":"string"},"Three",{"role":"annotation","type":"string"}],["Date(2012, 3, 26)",412,null,278,null,149,null],["Date(2012, 3, 27)",410,null,272,null,147,null],["Date(2012, 3, 30)",414,null,280,null,146,null],["Date(2012, 4, 1)",406,"$406",268,"$268",141,"$141"]];

    drawChart();

    function drawChart() {
        var data = window.data = google.visualization.arrayToDataTable(gmapData);

        // apply a tooltip formatting
        var formatter = new google.visualization.NumberFormat({pattern: '$#,###'});
        var cols = (gmapData[0].length-1) / 2;
        x = cols;
        // apply a tooltip formatting
        while ((--x) >= 0)
            formatter.format(data, x*2+1);

        var options = {
            title: 'Number Watch',
            legend: { position: 'bottom' },
            interpolateNulls: true,
            curveType: 'function',
            selectionMode: 'single',
            tooltip: {trigger: 'focus'},
            focusTarget: 'category',
            annotations: {
                textStyle: {
                    fontSize: 18
                }
            },
            vAxis: {format: '$#,###'},
            width: 400,
            height: 300
        };

        var chart = window.chart = new google.visualization.LineChart(document.getElementById('num_watch'));
        chart.draw(data, options);
    }

github問題回復:

你好

這是一個與focusTarget:'category'有關的已知錯誤。 該特定選項使用鼠標位置作為如何定位工具提示的信號,因此以編程方式選擇不會觸發工具提示顯示。

為了避免這個問題,您可以在第一次加載時使用多個選擇。 這是一個示例,還有一個重置,它在第一個機會時將focusTarget更改回“類別”: http : //jsfiddle.net/b1kt6mrL/

jsfiddle:

// ..... all previous code, not with the annotations
chart.draw(data, options);
chart.setSelection([{row:4, column:1}, {row:4, column:2}, {row:4, column:3}]);

google.visualization.events.addOneTimeListener(chart, 'onmouseover', function() {
    var selection = chart.getSelection();
    options.focusTarget = 'category';
    options.selectionMode = 'single';
    google.visualization.events.addOneTimeListener(chart, 'ready', function() {
        chart.setSelection(selection);
    });
    chart.draw(data, options);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM