3

バブル チャートのバブルのツールチップを Google API から変更しようとしています。

私の問題を解決する role:tooltip は、この種のチャートでは機能しません。

現在、バブルには行の値に関する情報が表示されていますが、これはドキュメントによると正しいですが、チャートを描画するためにその情報のみが必要であり、ツールチップとして文字列を表示する必要があります。この文字列は、フォーマットする必要があるいくつかの値で構成されています。

これはできますか?

記録のために、私はPHPを使用してJSONを介してJavascriptにデータを提供しており、Googleの最新のAPI(https://www.google.com/jsapi)を使用しています。

これは、現在の私の列の定義です。

$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);
}

あなたの場合、データテーブルをループしてアイテムを好きなようにフォーマットする関数を作成する必要がありますが、とにかくこれにより、数値プロットを1つのものとして作成し、別のものとして表示することができます.

于 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 に答える