问题标签 [cartogram]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4211 浏览

matplotlib - 用 Matplotlib 绘制地图?

万一有人不知道:制图是一种地图,其中一些与国家/地区相关的数字属性对各个区域进行缩放,以使该属性的密度(接近)恒定。一个例子是

示例图表

来自worldmapper.org。在此示例中,国家根据其人口进行缩放,从而导致人口密度接近恒定。

不用说,这真的很酷。有谁知道用于绘制此类地图的基于 Matplotlib 的库?worldmapper.org 使用的方法在 (1) 中进行了描述,所以如果还没有人实现它,我会感到惊讶......

我也有兴趣了解其他制图库,即使它们不是为 Matplotlib 制作的。

(1) Michael T. Gastner 和 MEJ Newman,基于扩散的密度均衡地图制作方法,Proc。纳特。学院派。科学。美国, 101, 7499-7504 (2004)。可在arXiv获得。

0 投票
2 回答
7021 浏览

r - R中的制图+等值线图

我最近一直在使用 ggplot2 来创建一堆 choropleths。我想知道是否可以使用 ggplot2 创建与此类似的地图(来自WorldMapper):

在此处输入图像描述

这是一个等值线,其中 shapefile 多边形被扭曲以表示相对人口计数。我相信这被称为制图。他们用一堆其他变量来做到这一点。本着Choropleth R Challenge的精神,有谁知道如何使用 R 来做到这一点?

0 投票
2 回答
784 浏览

r - 在 R 中下载包“Cart”

有人知道我在哪里可以下载 R 包“购物车”,它可以帮助创建 Gastner 的“使用基于扩散的制图进行映射”吗?我在 R 上尝试了 install.package 并说它不适用于 R 2.15。R-forge 上有一个关于它的页面,但它没有解释如何下载包。

谢谢。

0 投票
1 回答
393 浏览

javascript - 在 D3 中将地理形状缩放到相似的大小

我正在使用 D3 的world-countries.json文件来创建世界国家的墨卡托地图,然后我将其绑定到一些数据以获得非连续制图。唉,加拿大、美国、澳大利亚等更大的面积意味着这些国家的一个单位相当于马耳他等几个单位的空间。

我认为我需要做的是规范化 geojson 形状,以便加拿大和马耳他在开始时大小相同。

知道我会怎么做吗?

谢谢!

更新:我已经尝试将所有路径的宽度和高度显式设置为一个小整数,但这似乎只是稍后被转换覆盖。代码如下:

0 投票
1 回答
504 浏览

r - 在 SpatialPolygonsDataFrame 对象上使用 Rcartogram

我正在尝试做与此问题中提出的相同的事情,即 Cartogram + choropleth map in R,但从 SpatialPolygonsDataFrame 开始并希望最终得到相同类型的对象。

我可以将对象保存为 shapefile,使用scapetoad,重新打开它并转换回来,但我宁愿将它全部包含在 R 中,以便该过程完全可重现,以便我可以自动编码数十种变体。

我已经在 github 上分叉了 Rcartogram 代码,并在此处添加了我的努力。

本质上,这个演示所做的是在地图上创建一个 SpatialGrid,查找网格每个点的人口密度,并将其转换为cartogram()工作所需格式的密度矩阵。到目前为止,一切都很好。

但是,如何根据 的输出对原始地图点进行插值cartogram()

这里有两个问题。首先是将地图和网格放入相同的单位以允许插值。第二个是访问每个多边形的每个点,对其进行插值,并使它们保持正确的顺序。

网格采用网格单位,地图采用投影单位(在示例 longlat 的情况下)。必须将网格投影到 longlat,或者将地图投影到网格单元中。我的想法是制作一个假的 CRS 并将其与 in 中的spTransform()函数一起使用package(rgdal),因为它可以轻松处理对象中的每个点。

访问每个点都很困难,因为它们在 SpPDF 对象中是几层:我认为对象>多边形>多边形>线>坐标。任何想法如何在保持整体地图结构完整的同时访问这些?

0 投票
1 回答
1217 浏览

javascript - 使用 Cartogram.js 在全局地图中可视化信息

我正在尝试修改此示例http://prag.ma/code/d3-cartogram/以显示 2002 年、2005 年和 2010 年世界各地的肥胖信息。这是可视化:http ://datauy.github.io/obesity-cartogram ,带有指向同一页面中代码的链接。

我要解决的问题是,形状并没有像原始示例中的 alberusa 投影那样被扭曲。颜色似乎映射得很好,但由于某种原因我无法扭曲地图。我尝试更改比例并查看 Cartogram.js 代码,但我没有看到任何可能的问题。如果我将数据更改为具有更大的差异,那么我会看到颜色差异,但没有任何形状。

任何线索发生了什么?谢谢!

0 投票
1 回答
391 浏览

javascript - D3:用 Cartogram.js 搞砸坐标

按照 Jeff Fletcher ( http://www.limn.co.za/2013/10/making-a-cartogram/ ) 的教程,我一直在尝试构建欧洲的 Cartogram.js 地图。

我能够渲染初始地图,但是当我进行转换时,坐标会变得混乱。

问题类似于这个问题:using Cartogram.js for Visualizing Information in a global map

这是代码:https ://github.com/jensfinnas/cartogram 这是现场版本:http: //jensfinnas.github.io/cartogram/

0 投票
2 回答
642 浏览

c# - 从 shapefile 创建加权制图的算法(和工具)?

我可以使用什么算法来生成加权制图,如下所示:http://www.brainpickings.org/index.php/2010/04/15/cartograms/

我可以使用 R、.NET 库中的代码以及 PostGIS 生成 shapefile 图。但是,我找不到用于查找用于生成这些扭曲 shapefile 图的算法实现的搜索词。不一定只想绘制世界地图,因此必须能够使用任意 shapefile。

0 投票
0 回答
562 浏览

javascript - 在 d3 中创建 Hexagonal Cartogram JSON 文件

我正在尝试在 d3.js 中制作六边形制图,类似于在此处找到的。Mike Bostock 在他(很棒的)Eyeo 2013 演讲中提到了这一点,并创建了一个工具,允许用户点击绘制六边形多边形(此处)。

我想知道的是如何使用该工具在 json/geojson 中创建静态地图,并将各种多边形(上述两个示例中的国家)分类为可用格式以引入 d3 项目。

换句话说,一旦完成计算以确定所需的六边形比例以及每个枚举单元需要多少个六边形(同样,示例中的国家),如何为地图创建 json 文件?

0 投票
1 回答
449 浏览

javascript - Cartogram using angularjs and d3 TypeError: undefined is not a function

I am creating a cartogram of srilanka using d3.js and angularJS. I have a controller and a function to create it. It returns an error saying TypeError: undefined is not a function

HTML:

app.JS: