実際、これはJavascriptの質問の方が多いかもしれませんが、d3でのコーディング中に問題に遭遇し、IE9でのみ発生するため、d3ユーザーに特に関係があると思います。
これが私がすることです:私は配列にマウスクリックを追加することから始めます:
daLineArray.push({ x: d3.mouse(this)[0], y: d3.mouse(this)[1] });
これから、結果の配列をd3.svg.lineジェネレーターにフィードすることにより、パスを生成します。これはすべてのブラウザでうまく機能します。
次に、最初に元の配列を短い配列にマッピングして、パスをポリゴンに変換します。
daLineArrayShort = daLineArray.map(function(d) { return d3.values(d) });
次に、これをd3.areaジェネレーターにフィードします。
これにより、ポイントリストが適切な形式になっていないと文句を言うIE9を除いて、すべてのブラウザで細かいポリゴンが生成されます。
そして正直なところ、IE9は正しいです。
結果のポリゴンをhtml形式で確認すると、次のようになります(この場合の数値は架空のものです)。
points="10,10,20,20,30,30,40,40,etcetera"
私はそれがこのように見えるはずだと思いますが:
points="10,10 20,20 30,30 40,40 etcetera"
つまり、スペースが必要な座標ペアの間にコンマがあります。
以前にこれに気づきましたが、IE9で自分の作業をテストしたときに問題であることに気づきました。
だから、私の質問は、適切に解析された配列を作成するにはどうすればよいですか?
(ポイントを直接にプッシュしようとしましdaLineArrayShort
(.push([d3.event.pageX, d3.event.pageY])
たが、適切なポイントリストも生成されませんでした。コンマが支え続けます。)