0

私はgoogle.visualization.DataTableを使用していますが、関連する2つの列があり、colSmallとcolLargeを呼び出します。特定の行でcolSmallがcolLargeより大きい場合、その行の背景色を赤にしたいと思います。2つの列を比較して色の行をGoogleビジュアライゼーションDataTable

最も近いのは、google.visualization.ColorFormat()を使用することです。私はフォーマッタとaddRangeを作ることができます。これは、特定の値をハードコードするために使用できます。そのため、colSmallがその値を超えると、赤色になります(下記参照)。

var formatter = new google.visualization.ColorFormat(); 
formatter.addRange('100', null, 'black', 'red'); // anything greater than 100 will be red (the quotes are because these are string values) 
formatter.format(data, 7); // colSmall is index 7 

私はこの行の別の列を見せる方法を見つけることができませんでした。私が持っているもう一つの問題は、これが行全体ではなくセルを赤くすることです。

+0

[回答](http://stackoverflow.com/a/36949638/5090771)には、ColorFormatと行全体を含む3つの例が含まれています。 – WhiteHat

+0

APIはhttps:// developers.google.com/chart/interactive/docs/reference#colorformat –

答えて

0

私はそれを行うためのハッキーな方法を見つけましたが、私はまだより良いものを好むでしょう。

データを構築してからテーブルに追加するのではなく、テーブルに各行を挿入してフォーマットすることができます。その行(だけでなく2列)の各列について

    var rowIndex = data.addRow(val); 
        if (colSmall > colLarge) { 
         data.setProperties(rowIndex, 2, {style: 'background-color:red'}); 
        } 

そして、任意の行のため、私のような何かを行うことができます。

私はsetPropertyを使うことができますし、もっと良いのはsetRowPropertyですが、これらのメソッドを試すたびに単純に機能しないので、今のところこれを解決します。

関連する問題