如何获取线标签值(Google图表)

克里斯蒂安·西伦(Kristian Sironen)

可以说我有基本的Google折线图,如下所示(代码是从Google开发者网站复制的):

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

function drawChart() {

  var data = new google.visualization.DataTable();
  data.addColumn('number', 'Day');
  data.addColumn('number', 'Guardians of the Galaxy');
  data.addColumn('number', 'The Avengers');
  data.addColumn('number', 'Transformers: Age of Extinction');

  data.addRows([
    [1,  37.8, 80.8, 41.8],
    [2,  30.9, 69.5, 32.4],
    [3,  25.4,   57, 25.7],
    [4,  11.7, 18.8, 10.5],
    [5,  11.9, 17.6, 10.4],
    [6,   8.8, 13.6,  7.7],
    [7,   7.6, 12.3,  9.6],
    [8,  12.3, 29.2, 10.6],
    [9,  16.9, 42.9, 14.8],
    [10, 12.8, 30.9, 11.6],
    [11,  5.3,  7.9,  4.7],
    [12,  6.6,  8.4,  5.2],
    [13,  4.8,  6.3,  3.6],
    [14,  4.2,  6.2,  3.4]
  ]);

  var options = {
    chart: {
      title: 'Box Office Earnings in First Two Weeks of Opening',
      subtitle: 'in millions of dollars (USD)'
    },
    width: 900,
    height: 500
  };

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

            function selectHandler() {                  
              var selectedItem = chart.getSelection()[0];
              if (selectedItem) {
                var value = data.getValue(selectedItem.row, selectedItem.column);
                var topping = data.getValue(selectedItem.row, 0);

                alert('The user selected ' + topping + ' - ' + value);
              }
            }

            google.visualization.events.addListener(chart, 'select', selectHandler);    

  chart.draw(data, options);
}

我有侦听器,可以获取当前行值和x轴值,但不知道如何获取当前行标签文本

德克尔

您可以使用该getColumnLabel函数获取标签文本:

 data.getColumnLabel(selectedItem.column)

这是一个工作示例:

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

function drawChart() {

  var data = new google.visualization.DataTable();
  data.addColumn('number', 'Day');
  data.addColumn('number', 'Guardians of the Galaxy');
  data.addColumn('number', 'The Avengers');
  data.addColumn('number', 'Transformers: Age of Extinction');

  data.addRows([
    [1,  37.8, 80.8, 41.8],
    [2,  30.9, 69.5, 32.4],
    [3,  25.4,   57, 25.7],
    [4,  11.7, 18.8, 10.5],
    [5,  11.9, 17.6, 10.4],
    [6,   8.8, 13.6,  7.7],
    [7,   7.6, 12.3,  9.6],
    [8,  12.3, 29.2, 10.6],
    [9,  16.9, 42.9, 14.8],
    [10, 12.8, 30.9, 11.6],
    [11,  5.3,  7.9,  4.7],
    [12,  6.6,  8.4,  5.2],
    [13,  4.8,  6.3,  3.6],
    [14,  4.2,  6.2,  3.4]
  ]);

  var options = {
    chart: {
      title: 'Box Office Earnings in First Two Weeks of Opening',
      subtitle: 'in millions of dollars (USD)'
    },
    width: 900,
    height: 500
  };

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

            function selectHandler() {      
              var selectedItem = chart.getSelection()[0];
              if (selectedItem) {
                var value = data.getValue(selectedItem.row, selectedItem.column);
                var topping = data.getValue(selectedItem.row, 0);
                var columnLabel = data.getColumnLabel(selectedItem.column)

                alert('The user selected ' + columnLabel + ': ' + topping + ' - ' + value);
              }
            }

            google.visualization.events.addListener(chart, 'select', selectHandler);    

  chart.draw(data, options);
}
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<!--Div that will hold the pie chart-->
<div id="linechart_material"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章