3

我正在尝试从 Google API 更改气泡图中的气泡工具提示。

可以解决我的问题的角色:工具提示不适用于这种图表。

现在我的气泡显示有关行值的信息,根据文档,这是正确的,但我只需要该信息来绘制图表,并且我需要显示一个字符串作为工具提示。这个字符串由一些我需要格式化的值组成。

这可以做到吗?

作为记录,我正在使用 PHP 通过 JSON 向 Javascript 提供数据,并且我正在使用来自 google ( https://www.google.com/jsapi ) 的最新 API。

这是我现在的列定义:

$data['cols'][] = array('id' => 'ID', 'label' => 'ID', 'pattern' => "", 'type' => 'string');
$data['cols'][] = array('id' => 'Fecha', 'label' => 'Fecha', 'pattern' => "", 'type' => 'number');
$data['cols'][] = array('id' => 'h', 'label' => 'h', 'pattern' => "", 'type' => 'number');
$data['cols'][] = array('id' => 'stringRes', 'label' => 'Valor', 'pattern' => "", 'type' => 'string');
$data['cols'][] = array('id' => 'Resultado', 'label' => 'Resultado', 'pattern' => "", 'type' => 'number');

提前致谢!

编辑:

[解决方案]

如果有人问同样的问题,我只是通过删除我不想显示的字段的标签来解决我的问题,就是这样!

我将列模型更改为:

$data['cols'][] = array('id' => 'ID', 'label' => 'Fecha', 'pattern' => "", 'type' => 'string');
$data['cols'][] = array('id' => 'Fecha', 'label' => '', 'pattern' => "", 'type' => 'number');
$data['cols'][] = array('id' => 'h', 'label' => '', 'pattern' => "", 'type' => 'number');
$data['cols'][] = array('id' => 'stringRes', 'label' => 'Resultado', 'pattern' => "", 'type' => 'string');
$data['cols'][] = array('id' => 'Resultado', 'label' => '', 'pattern' => "", 'type' => 'number');

感谢@jmac 为我的问题提供了一些方法。

4

2 回答 2

1

您可以在数据上使用setFormattedValue()以使用一个值来绘制图表,并在鼠标悬停时弹出一个不同的数字。因为您正在导入数据并且我们看不到格式,所以我们无法告诉您具体如何处理它,但这里有一个示例:

var drawVisualizations = function() {
  // Create and populate a data table.
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Force');
  data.addColumn('number', 'Level');

  // Add 2 rows.
  // google.visualization.DataTable.addRows() can take a 2-dim array of values.
  data.addRows([['Fire', 1], ['Water', 5]]);

  // Add one more row.
  data.addRow(['sand', 4]);

  // Draw a table with this data table.
  var originalVisualization = new google.visualization.Table(document.getElementById('original_data_table'));
  originalVisualization.draw(data);

  // Clone the data table and modify it a little.
  var modifiedData = data.clone();

  // Modify existing cell.
  modifiedData.setFormattedValue(1, 1, "one");

  // Draw a table with this data table.
  var modifiedVisualization = new google.visualization.Table(document.getElementById('modified_data_table'));
  modifiedVisualization.draw(modifiedData);
}

在您的情况下,您需要创建一个函数来遍历您的数据表并根据需要格式化您的项目,但无论如何,这将使您能够将数字图作为一件事,但显示为另一件事.

于 2013-01-15T00:39:27.743 回答
0

[解决方案]

如果有人问同样的问题,我只是通过删除我不想显示的字段的标签来解决我的问题,就是这样!

我将列模型更改为:

$data['cols'][] = array('id' => 'ID', 'label' => 'Fecha', 'pattern' => "", 'type' => 'string');
$data['cols'][] = array('id' => 'Fecha', 'label' => '', 'pattern' => "", 'type' => 'number');
$data['cols'][] = array('id' => 'h', 'label' => '', 'pattern' => "", 'type' => 'number');
$data['cols'][] = array('id' => 'stringRes', 'label' => 'Resultado', 'pattern' => "", 'type' => 'string');
$data['cols'][] = array('id' => 'Resultado', 'label' => '', 'pattern' => "", 'type' => 'number');

感谢@jmac 为我的问题提供了一些方法。

于 2013-02-20T17:47:47.950 回答