Google折线图显示所有自定义工具提示

时间:2015-02-17 04:44:36

标签: javascript

我必须创建一个折线图,其中一些点有工具提示或其他气球/字幕/ texbox,其中包含有关该点的信息。必须始终显示它们,而不仅仅是鼠标悬停。基本上是一个谷歌注释图表,但与图表上的数据。

我尝试了下面的代码,它甚至没有显示工具提示。有什么想法,还是我应该选择不同的技术?谢谢。

google.load('visualization', '1.1', { packages: ['line'] });
    google.setOnLoadCallback(drawChart);

    function drawChart() {

        var data = new google.visualization.DataTable();
        data.addColumn('number', 'Day');
        data.addColumn('number', 'Score');
        data.addColumn({type: 'string', role: 'tooltip' });

        data.addRows([
          [1, 37, 'This score occurred in Texas in 1959.'],
          [2, 30, ''],
          [3, 25, ''],        
        ]);

        var options = {
            chart: {
                title: 'Important Chart',
                subtitle: 'in millions of dollars (USD)'
            },
            width: 900,
            height: 500,
            legend: 'none',
            axes: {
                x: {
                    0: { side: 'top' }
                }
            }
        };

        var chart = new google.charts.Line(document.getElementById('line_top_x'));

        chart.draw(data, options);
    }

1 个答案:

答案 0 :(得分:0)

您可能希望使用role:'annotation'代替role: 'tooltip'。注释允许您在没有任何用户交互的情况下显示文本。有关详细信息,请参阅annotationRole上的文档。

工作代码:http://jsfiddle.net/wkyg2brg/

google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawChart);

    function drawChart() {

        var data = new google.visualization.DataTable();
        data.addColumn('number', 'Day');
        data.addColumn('number', 'Score');
        data.addColumn({type:'string', role:'annotation'});

        data.addRows([
          [1, 37, 'This score occurred in Texas in 1959.'],
          [2, 30, ''],
          [3, 25, ''],        
        ]);

        var options = {
            chart: {
                title: 'Important Chart',
                subtitle: 'in millions of dollars (USD)'
            },
            width: 900,
            height: 500,
            legend: 'none',
            axes: {
                x: {
                    0: { side: 'top' }
                }
            }
        };


        var chart = new    
          google.visualization.LineChart(document.getElementById('chart_div'));


        chart.draw(data,options);

    }