3

縦棒グラフにフィードするためにGoogleスプレッドシートを使用しています。単一の列を異なる色にするために、チャートの各列のスプレッドシートの反対側の列の値を0に設定することで、一種のハックを使用しました。これにより、グラフの各列に必要な色の違いがわかりました。私が今抱えている問題は、ツールチップが各列で機能しないことであり、コードで正しく機能するように実装するにはどうすればよいか疑問に思っていました。

google.load('visualization', '1', {packages: ['corechart']});
</script>
<script type="text/javascript">
var visualization;

function drawVisualization() {
    var query = new google.visualization.Query(
        'http://spreadsheets.google.com/tq?key=0AjlSK7_zXoNHdDhrU2xiaHVIQmR1WldYZm1yMTNkM3c&pub=1');

    // Apply query language statement.


    // Send the query with a callback function.
    query.send(handleQueryResponse);
  }

  function handleQueryResponse(response) {
    if (response.isError()) {
      alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
      return;
    }

    var data = response.getDataTable();
     // set the 3rd column to the "tooltip" role
    data.setColumnProperty(3, 'role', 'tooltip');
    visualization = new google.visualization.ColumnChart(document.getElementById('visualization'));
    visualization.draw(data, {legend: 'none', colors:['blue','red'],is3D:'True', isStacked:'true'});
  }

google.setOnLoadCallback(drawVisualization);
4

1 に答える 1

1

オプションA:

現在の列3(ツールチップを使用)と同じ値を列2(最初のデータセットの後)に使用して、3列ではなく4列になるように基になるデータを調整します。新しい列2と4のsetColumnProperty()をツールチップとして使用します。

オプションB:

insertColumn()を使用して、Javascriptのツールチップ列3を列2(最初のデータセットの後)にコピーします。これは、オプションAと同じ効果があります。ループして値をコピーするか、同じデータを追加する必要があります。 javascript経由。

于 2013-01-11T02:54:03.703 に答える