首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为本地geojson文件绘制d3条形图

如何为本地geojson文件绘制d3条形图
EN

Stack Overflow用户
提问于 2016-01-03 15:17:23
回答 2查看 359关注 0票数 0

我试图为本地存储在myfile.geojson中的geojson数据绘制条形图、饼图和气泡图。通过堆栈溢出,我需要知道如何做饼图。以它为参考,我试着做条形图。我试过了,但我不明白。这是geojson文件的代码。

代码语言:javascript
运行
复制
{
"type": "FeatureCollection",
"features": [{
    "type": "Feature",
    "properties": {
        "profit": 326,
        "npa": 174.000000
}
}, {
    "type": "Feature",
    "properties": {
        "profit": 1762,
        "npa": 1683.000000
}
}]
}

我尝试过的代码在这个柱塞链接中。

我是d3的新手。据我所知我试过。提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-03 16:50:45

我没能完全解决问题,但有几个建议。希望它有帮助,其他人可以编辑这个或提供更好的答案。

  1. d3.layout.stack()没有函数.sort,而是有.values而不是.value
  2. 用d3.json加载.geojson文件
  3. 您有.append(文本),并且应该是.append(“文本”)
  4. 如果您只是尝试创建条形图,那么我认为不需要堆栈布局
票数 0
EN

Stack Overflow用户

发布于 2016-01-03 19:36:09

正如Justin指出的,在柱塞上提供的代码中有一些缺陷。此外,您没有正确地使用D3.jsAPI。我建议阅读它们,尤其是关于缩放、轴和选择的内容。

您面临的另一个问题是,您需要将geojson数据转换为有用的平面数组格式--您应该检查两个函数map (将列表映射为list)和reduce (将列表映射为值)。通过使用这两个函数(也是嵌套的),您可以轻松地从原始数据中创建良好的数据集。

最后,下面是一个基于柱塞的条形图的工作示例,并提供了代码片段:http://plnkr.co/edit/eqJ7AkzWpHO4ZQENkXgy?p=preview

相关的数据处理部分出现在这里,在这里,我从geojson文件中提取一个数据数组和一个标签数组:

代码语言:javascript
运行
复制
d3.json("myfile.geojson", function(res) {
  var data = res.features.map(function(d){
    return d.properties.profit;
  });
  var labels = res.features.map(function(d, i){
    return i;
    // return d.properties.nga;
  });

  barchart(500, 500, data, labels);
});

其余代码处理的是正确显示条形和轴。这段代码现在可以很容易地被堆叠的区域图或饼图所代替。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34578075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档