D3.js 使用D3投影topoJSON显示微小的

D3.js 使用D3投影topoJSON显示微小的,d3.js,topojson,D3.js,Topojson,几个小时来,我一直在绞尽脑汁想我的地图在D3中是如何显示超小型的 我试过调整比例,但它无法正确地接合投影 这是我的密码 曼达 .国家:悬停{ 填充物:红色; } .国家边界{ 填充:无; 冲程:#fff; 笔划宽度:0.5px; 笔划线条连接:圆形; 笔划线头:圆形; 指针事件:无; } svg{ 背景:rgb(201197197); } var w=960, h=600; var svg=d3.选择(“svg”); svg.attr(“宽度”,w)、attr(“高度”,h); var投影=d

几个小时来,我一直在绞尽脑汁想我的地图在D3中是如何显示超小型的

我试过调整比例,但它无法正确地接合投影

这是我的密码


曼达
.国家:悬停{
填充物:红色;
}
.国家边界{
填充:无;
冲程:#fff;
笔划宽度:0.5px;
笔划线条连接:圆形;
笔划线头:圆形;
指针事件:无;
}
svg{
背景:rgb(201197197);
}
var w=960,
h=600;
var svg=d3.选择(“svg”);
svg.attr(“宽度”,w)、attr(“高度”,h);
var投影=d3
.geoAlbers()
.比例尺(200)
.翻译([w/2,h/2]);
var path=d3.geoPath().projection(projection);
d3.队列()
.defer(d3.json,“NCR/Mandaluyong/MandaTopo.json”)
.等待(准备好);
功能就绪(错误、数据){
if(err)返回console.log(err);
var brgys=topojson.feature(data,data.objects.Mandaluyong).features;
svg
.selectAll(“.brgy”)
.数据(brgys)
.输入()
.append(“路径”)
.attr(“类别”、“brgy”)
.attr(“d”,路径)
.attr(“笔划”、“黑色”);
}
我加了一笔来强调这张地图

这是MandaTopo.json

以下是我在svg中看到的内容

您使用的投影是,文档中说:

以美国为中心的d3.geoConicEqualArea配置

因为看起来你的数据在菲律宾,也许一个不同的预测对你来说会更好

我尝试用以下内容替换行
var projection=d3.geoAlbers…
,这似乎很有效:

var projection = d3
      .geoMercator()
      .scale(900000)
      .center([121.038505, 14.588329]);

您使用的投影是,文档中说:

以美国为中心的d3.geoConicEqualArea配置

因为看起来你的数据在菲律宾,也许一个不同的预测对你来说会更好

我尝试用以下内容替换行
var projection=d3.geoAlbers…
,这似乎很有效:

var projection = d3
      .geoMercator()
      .scale(900000)
      .center([121.038505, 14.588329]);

这里是一个副本(并使用fitSize方法和您的代码):这里是一个副本(并使用fitSize方法和您的代码):通过手动设置旋转和平行线,d3 Albers投影参数可以适应任何区域和任何Albers投影。您好,谢谢您,我也阅读了文档,谢谢!:我帮了大忙!我有一个问题,现在我把它扩展到500k,在(“鼠标悬停”)即使我添加了一个悬停更改颜色的类,函数也不起作用d3 Albers投影参数可以通过手动设置旋转和平行来适应任何区域和任何Albers投影。您好,谢谢,我也阅读了文档谢谢我帮了大忙!我确实有一个问题,现在我将它扩展到500k,即使我添加了一个悬停的类来更改颜色,on(“mouseover”)函数也不起作用