私は、ニューヨークタイムズの最終的な政治大会の視覚化のような部分的に塗りつぶされた円を作成しようとしています:http ://www.nytimes.com/interactive/2012/09/06/us/politics/convention-word-counts.html
d3のclipPathsで見つけた2つの最も明確なコード例(https://gist.github.com/1067636およびhttp://bl.ocks.org/3422480)は、クリップパスごとに一意のIDを持つ個々のdiv要素を作成します次に、これらのパスを単一の要素に適用します。
これらの例から、データ値に基づいて要素のセット内の要素ごとに一意の円形のclipPathを使用して視覚化する方法を理解できず、効果を作成できます。
これが私がこれまでに持っているものです:
次の構造のデータが与えられます。
data = [
{value: 500, pctFull: 0.20, name: "20%"},
{value: 250, pctFull: 0.75, name: "75%"},
{value: 700, pctFull: 0.50, name: "50%"},
]
1)データセット内のオブジェクトごとに円で力の図を作成します。円の面積は、オブジェクトの値から導出されます。
2)mbostockの例http://bl.ocks.org/3422480のアルゴリズムを使用して、各データポイントの比率(pctFull)からk(およびh)を計算します。
3)kを使用して、円の適切な領域をカバーする各データポイントの長方形を生成します。
各長方形の可視性をそれぞれの円に制限できれば、イラストは完成すると思いますが、これは私が立ち往生しているところです。私はたくさんのことを試しましたが、どれもうまくいきませんでした。
これがjsfilddleです:http://jsfiddle.net/G8YxU/2/