0

実際、これは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])たが、適切なポイントリストも生成されませんでした。コンマが支え続けます。)

4

1 に答える 1

0

Alexander Skarburskis によって Google d3 グループで解決されました。

http://groups.google.com/group/d3-js/browse_thread/thread/10387708619aab34

于 2012-10-17T15:12:49.933 に答える