1

私は d3 を使用して棒グラフを描画しています。棒グラフは、さまざまなグループ (男性/女性など) を比較するために使用されます。塗りつぶしには、データ ファイル (json) に保存されている色を使用し、d3.rgb().darker()/.brighter().

.attr("fill", function(d){return d3.rgb(d.color).darker(1);})

Firefox では機能しますが、Internet Explorer 9 ではすべてのバーが黒で表示されます (これが最初に使用される色です)。これは特にこのブラウザの問題なのか、それともこの動作を回避するために何か不足しているのか疑問に思っていました.

もちろん、1つの解決策は色を個別に割り当てることですが、可能であれば、提供された可能性を使用したいと思います。

4

1 に答える 1

12

これは、スタイル プロパティを設定するattr("fill")代わりにを使用しているために発生します。style("fill")

この関数には、必要に応じてプロパティ値を適切な文字列に変換する追加のチェックが含まれているため、手動でstyle行う必要はありません。toString()

元の行を次のように変更します。

.style("fill", function(d){return d3.rgb(d.color).darker(1);})

IE を含むすべてのブラウザで動作するはずです。

于 2013-06-28T09:57:02.860 に答える