javascript - 谷歌图表 : modify toopl tip

标签 javascript html charts google-visualization tooltip

我有一个使用谷歌图表 API 的联合图表。在这里我想更新图表的工具提示。

由于这些图表中有很多重叠,我可能无法将鼠标悬停在每个离散点上并查看数据。

最佳答案

您可以使用 DataView 来提供计算列
为该行构建工具提示

请看下面的片段...

var dataView = new google.visualization.DataView(joinedData);
dataView.setColumns([0, 1, {
  calc: function (dt, row) {
    return getTooltip(dt, row);
  },
  role: 'tooltip',
  type: 'string',
  p: {
    html: true
  }
}, 2, {
  calc: function (dt, row) {
    return getTooltip(dt, row);
  },
  role: 'tooltip',
  type: 'string',
  p: {
    html: true
  }
}]);

function getTooltip(dt, row) {
  var tooltip = '<div class="tooltip">';
  tooltip += '<div>' + dt.getFormattedValue(row, 0) + '</div>';

  tooltip += '<div>' + dt.getColumnLabel(1) + '</div>';
  if (dt.getValue(row, 1) === null) {
    tooltip += '<div>' + dt.getFormattedValue(row + 1, 1) + '</div>';
  } else {
    tooltip += '<div>' + dt.getFormattedValue(row, 1) + '</div>';
  }

  tooltip += '<div>' + dt.getColumnLabel(2) + '</div>';
  if (dt.getValue(row, 2) === null) {
    if (row > 0) {
      tooltip += '<div>' + dt.getFormattedValue(row - 1, 2) + '</div>';
    }
  } else {
    tooltip += '<div>' + dt.getFormattedValue(row, 2) + '</div>';
  }

  tooltip += '</div>';
  return tooltip;
}

完整片段 --> http://jsfiddle.net/sqdfrf8f/1/


注意:有一些错误,
因为图表不会尊重数据 View 的列属性
所以 html 属性没有设置
解决方法是使用数据 View 方法 --> toDataTable()

另外:需要为谷歌图表使用更新的库,参见 --> update library loader code

关于javascript - 谷歌图表 : modify toopl tip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763056/

相关文章:

ios - 如何使用iOS的图表库在PieChart中显示字符串标签?

html - 你如何判断哪些 CSS 设置影响了布局?

javascript - 删除后 jQuery 不附加代码

graph - 在 Julia 中使用包 Gadfly.jl 时如何在图表中添加图例

javascript - 如果我知道纬度和经度,谷歌地图如何添加标记

javascript - Rollup 无法转译异步/等待 - regeneratorRuntime 未定义

javascript - HttpClient PostAsync 在 JQuery 中等效于 FormURLEncodedContent 而不是 JSON

javascript - 如果我绑定(bind)多个事件处理程序,我可以确定是什么事件触发了 jQuery 中的事件处理程序吗?

javascript - 获取下拉信息的按钮

charts - 如何删除 dojo 折线图中虚线的灰色背景?