javascript - 自定义 Google 时间线图表上的工具提示

标签 javascript charts google-visualization

我创建了一个 Google 时间线图表来查看我的音乐收听历史。它看起来像这样:

enter image description here

我想从工具提示中删除持续时间部分,但找不到任何选项。我尝试添加这些行:

dataTable.addColumn({type: 'string', role:'tooltip'});

我的 dataTable.addRows([]) 函数中的一行如下所示:

['25 August', 'Kasabian - La Fee Verte', new Date(2016,01,01, 13,37,32), new Date(2016,01,01, 13,43,19), 'tooltip example'],

但它仍然显示与图像中相同的工具提示。我实际上想显示 Kasabian - La Fee Verte 和 25 August: 1:37 pm - 1:43 pm 就像在图像中一样,但我想删除持续时间。

最佳答案

根据data format对于时间轴图表,工具提示应位于第 3 列。

请参阅以下工作片段...

google.charts.load('current', {
  callback: function () {
    var container = document.getElementById('chart_div');
    var chart = new google.visualization.Timeline(container);

    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({type: 'string', id: 'RowLabel'});
    dataTable.addColumn({type: 'string', id: 'BarLabel'});
    dataTable.addColumn({type: 'date', id: 'Start'});
    dataTable.addColumn({type: 'date', id: 'End'});

    dataTable.addRows([
      ['25 August', 'Kasabian - La Fee Verte', new Date(2016,01,01, 13,37,32), new Date(2016,01,01, 13,43,19)],
      ['26 August', 'Test Data 1', new Date(2016,01,01, 13,37,32), new Date(2016,01,01, 13,43,19)],
      ['27 August', 'Test Data 2', new Date(2016,01,01, 13,37,32), new Date(2016,01,01, 13,43,19)],
    ]);

    dataTable.insertColumn(2, {type: 'string', role: 'tooltip', p: {html: true}});

    var dateFormat = new google.visualization.DateFormat({
      pattern: 'h:mm a'
    });

    for (var i = 0; i < dataTable.getNumberOfRows(); i++) {
      var tooltip = '<div class="ggl-tooltip"><span>' +
        dataTable.getValue(i, 1) + '</span></div><div class="ggl-tooltip"><span>' +
        dataTable.getValue(i, 0) + '</span>: ' +
        dateFormat.formatValue(dataTable.getValue(i, 3)) + ' - ' +
        dateFormat.formatValue(dataTable.getValue(i, 4)) + '</div>';

      dataTable.setValue(i, 2, tooltip);
    }

    chart.draw(dataTable, {
      tooltip: {
        isHtml: true
      }
    });
  },
  packages: ['timeline']
});
.ggl-tooltip {
  border: 1px solid #E0E0E0;
  font-family: Arial, Helvetica;
  padding: 6px 6px 6px 6px;
}

.ggl-tooltip span {
  font-weight: bold;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>

关于javascript - 自定义 Google 时间线图表上的工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38305775/

相关文章:

用于 Google Charts Api 的 PHP MySQL 查询数组 json_encode

javascript - 如何在 Bootstrap 模式中根据用户从选项菜单中的选择导航到 URL?

javascript - 有什么简写 JavaScript 可以让这个 reducer 变得更容易吗?

php - Google 绘制来自 php 数组的连续 x 轴图表

javascript - DC.JS 综合图表不显示最后值

Javascript流解析xml

javascript - 为谷歌可视化表列中的列添加自定义排序

Javascript 数组拼接而不改变索引

javascript - 发出获取缩略图 slider 以隐藏和显示新图像集的问题

excel - AddChart2 VBA 宏中的数字代表什么?