次のD3箇条書きのチャートの例に従っています。範囲の色がJSON:http://www.d3noob.org/2013/07/introduction-to-bullet-charts-in-d3js.htmlにも含まれるように少し修正しようとしています。変更の理由は、私は色が動的であり、さまざまなものに依存する必要があるということです。d3弾丸チャートへのJSON入力としての色の取得
これはフォーラムの他の場所ですが、古いものと未解決のものです。私はd3の初心者であり、一般的なJavaScriptの経験はあまりありません。
ここに私が使用しているJSONがあります。 「rangecolor」は、いくつかの範囲があるため、将来はさまざまな色の配列になりますが、簡単にするために、まずは1つの色で始めることを試みます。
{
"title":"Memory Used",
"subtitle":"MBytes",
"ranges":[256,512,1024],
"rangecolor": "red",
"measures":[768],
"markers":[900]
}
今、それを使用する方法のアイデアを取得し、私はタイトルのために働い例を見て:
:var title = svg.append("g") .style("text-anchor", "end") .attr("transform", "translate(-6," + height/2 + ")"); title.append("text") .attr("class", "title") .text(function(d) { return d.title; });
問題は、私は得ることができないということです動作するように、次の
d3.selectAll(".bullet .range.s0") .style("fill", function(d) { return d.rangecolor; });
次は作業を行います:
d3.selectAll(".bullet .range.s0")
.style("fill", function(d) { return "red"; });
そして、私はまた、タイトルにrangecolor値を抽出することができます。
title.append("text")
.attr("class", "title")
.text(function(d) { return d.rangecolor; }); //works - title is now "red"
私のアプローチは見当違いのことなので、最高のJSONへの色の範囲を含む、それは次のようになり使用する方法上の任意のに役立つかもしれませんとても有難い。
データをそのクラスにバインド**しましたか? –