javascript - DC.js 等值线 map CSS 与颜色冲突,没有 map 显示。如何关闭填充:none?

标签 javascript html css d3.js dc.js

我已经包含了下面的 html 代码,其中导入了 dc.js 的 javascript 和 css。当我加载页面时,所有元素都位于正确的位置。当我选择一个县路径元素并取消选择 fill:none css 时, map 将按其应有的方式显示。屏幕截图:fill:none ON fill:none OFF

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>D3: Choropleth</title>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/dc/1.7.5/dc.min.css" rel="stylesheet"/>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/crossfilter/1.3.12/crossfilter.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/dc/1.7.5/dc.min.js"></script>
  <style type="text/css">
    body {
            background-color: gray;
        }
        svg {
            background-color: white;
        }
    </style>
</head>
<body>
    <div id="uk-chart">
        <strong>Customer locations</strong>
        <div class="clearfix"></div>
    </div>
    <script src="data/customers.js"></script>
    <script type="text/javascript">
    var ukgraph = function(){
    var ukChart = dc.geoChoroplethChart("#uk-chart");

        //Width and height
        var w = 300;
        var h = 500;
    //
        //Define map projection
        var projection = d3.geo.mercator()
                               .center([ -2, 55 ])
                               .translate([ w/2, h/2 ])
                               .scale([ w*4 ]);

        //Define path generator
        var path = d3.geo.path()
                         .projection(projection);

    var cf = crossfilter(data);
    var county_dimension = cf.dimension(function(d){
      return d.address_line5;
    });
    var county_groups = county_dimension.group();


            // //Load in GeoJSON data
            d3.json("data/geo/simplified_GB.json", function(json) {

        ukChart.width(w-10)
               .height(h-10)
               .projection(projection)
               .dimension(county_dimension)
               .group(county_groups)
               .colors(['#ccc', "#ffffb2", "#fecc5c", "#fd8d3c", "#f03b20", "#bd0026" ])
               .colorDomain([
                 d3.min(county_groups, function(d) { return +d.value; }),
                 d3.max(county_groups, function(d) { return +d.value; })
               ])
               .overlayGeoJson(json.features, "county", function (d) {
                        return d.properties.NAME_2;
                })
                                .title(function (p) {
                        return "customer locations";
                });

          dc.renderAll();

            });  //End d3.json()
        };
        window.onload = function() {
            ukgraph();
        }
    </script>
</body>
</html>

`

如何修复此问题以便 map 在页面加载时显示?

最佳答案

dc.css 明确提及类名 county 非常可疑。

.dc-chart g.county path {
    stroke: white;
    fill: none;
}

dc.js 不应该关心您正在使用的具体数据。我能找到的对county的唯一引用是web/play-ground.html

您传递给 overlayGeoJson 的名称将用作类名称,这显然就是它被删除的原因。作为解决方法,您可以更改该名称,对吧?

我已将此记录为错误 in this comment .

关于javascript - DC.js 等值线 map CSS 与颜色冲突,没有 map 显示。如何关闭填充:none?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41139341/

相关文章:

jQuery 未捕获类型错误 : undefined is not a function error

php - DIV的高度自动调整

html - CSS 表格 <td> 填充不能完全移除

javascript - 无法使用 setState onClick 将变量置于状态

javascript - 在 JavaScript 中等待函数完成

javascript - 从 CDN 导入外部 jquery 文件时出现问题

javascript - 使用 JavaScript 实现类似 Java 的代码自动完成?

php - 对象方法不返回结果

javascript - 如何制作复合样式

html - asp :TextBox change placeholder via . NET代码隐藏