D3 できれいな米国の州の地理マップを表示する際に問題が発生します。
http://examples.oreilly.com/0636920026938/chapter_12/04_fill.htmlから正確なコードをコピーしましたhttp://examples.oreilly.com/0636920026938/chapter_12/us-states.json から us-states.json もダウンロードしました
CentOS の firefox で、個々の状態ではなく、svg 要素全体を覆う大きな鋼の青いボックスを見ました。
最終的に、d3.v3.js ではプエルトリコがサポートされていないことが判明したため、プエルトリコの説明を含む us-states.josn ファイルの最後の行を削除しました。
それでも大きなスチールボックスを入手してください。HTML をたどると、Virginia に対応するパス要素も、SVG 要素全体にわたって大きな正方形の鋼の青いボックスを示していることがわかりました。
style("opacity",function(d) { if (d.properties.name=="Virginia") return 0.0; else return "1.0"; }) を追加しました
これで、空白を示すバージニアとデータ ファイルから手動で削除したプエルトリコを除いたすべての州がマップに表示されます。
html 要素と json ファイルでバージニア州のジオメトリを調べたところ、バージニア州とあまり変わらない、またはユニークなものは見られません。バージニア州は 3 つの部分で描かれていますが、ワシントンなどの他の州は 4 つに分けられています。
バージニア州が正しく表示されない理由についての提案。バージニアの HTML タグの検査も問題ないようで、データが反映されているようです。次の詳細レベルで、D3 内部または外部ブラウザーがバージニアを描画するのに苦労し、デフォルトで svg 領域全体に大きな鋼の青いボックスを描画するのに苦労している理由を理解するために、デバッグ コードを追加するにはどうすればよいでしょうか?
コードは書籍の例とまったく同じように開始されました。唯一の変更点は、d3.v3.js が d3 org サイトの zip ファイルから新たにダウンロードされたことです。もちろん、Virginia の不透明度はプログラムによってゼロに削減されました。
ありがとう..私はブラウザの問題、次にデータの問題、最後にd3ライブラリのバージョンの問題を抱えていたと思っていましたが、すべてを排除し、次に何を見るべきかを決めるのに助けが必要です..