Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Matplotlib绘制卡通图?_Matplotlib_Visualization_Cartography_Cartogram - Fatal编程技术网

使用Matplotlib绘制卡通图?

使用Matplotlib绘制卡通图?,matplotlib,visualization,cartography,cartogram,Matplotlib,Visualization,Cartography,Cartogram,如果有人不知道:A是一种地图类型,其中一些国家/地区相关的数字属性缩放各个地区,以便该属性的密度(接近)恒定。例如 从。在本例中,各国根据其人口进行缩放,导致人口密度接近恒定 不用说,这真的很酷。有人知道绘制此类地图的基于Matplotlib的库吗?在worldmapper.org上使用的方法在(1)中有描述,所以如果还没有人实现这一点,我会感到惊讶 我还对其他卡通图库感兴趣,即使它们不是为Matplotlib设计的 (1) 迈克尔·T·加斯纳和M·E·J·纽曼, 用于生成密度均衡贴图的基于扩

如果有人不知道:A是一种地图类型,其中一些国家/地区相关的数字属性缩放各个地区,以便该属性的密度(接近)恒定。例如

从。在本例中,各国根据其人口进行缩放,导致人口密度接近恒定

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

我还对其他卡通图库感兴趣,即使它们不是为Matplotlib设计的

(1) 迈克尔·T·加斯纳和M·E·J·纽曼, 用于生成密度均衡贴图的基于扩散的方法, 过程。纳特。阿卡德。Sci。美国,1017499-7504(2004)。可在。

上找到,尽管它基于不同的算法(尽管它位于ESRI站点,但不需要ArcGIS)。当然,一旦你有了卡通图,你就可以在matplotlib中绘制它。

是一个Javascript插件,可以使用D3制作卡通图。如果您不太关心区域的精确大小,那么这是一个很好的简单解决方案。如果精度很重要,那么还有其他选项可以让您更自由地使用算法的参数以获得更精确的结果

以下是我知道的两个很棒的独立程序:

蟾蜍很容易使用。只需给它一个shapefile,告诉它使用哪个属性进行缩放,并设置一些精度参数。如果有任何疑问,请描述该过程

Carto3F更复杂,允许更高的精度,尽管它有点棘手——大量的参数设置没有太多的文档来解释它们


还有一个是用Python编写的。虽然我还没能让它发挥作用,所以不能对此发表评论。

简言之,没有。但纽曼对他和加斯特纳的方法有一个很好的小小实现。安装它很容易,并且可以从命令行运行。下面是一个使用这个软件的工作流示例,它对我很有用

  • 计算某个区域的密度估计网格,例如Python。将其存储为数字矩阵
  • 运行
    cart
    程序,将密度矩阵作为命令行的输入或Python中的子进程
  • 程序返回每个网格点的新坐标列表
  • 通过
    interp
    程序将您的形状文件点导入一个新的形状文件,以获得变换后的贴图
  • 主页上有很好的说明

    中的函数


    表示它是一个高级Python地理空间绘图库,是cartopy和matplotlib的扩展。

    尝试使用此库如果您使用geopandas,它很快,并且不需要太多自定义

    太棒了,谢谢!我想当我说“使用Matplotlib”时,我把自己弄糊涂了。我想我在想Matplotlib人们称之为工具箱的东西,比如地图工具箱,但我完全没有理由真正想要它。您的解决方案当然足够:-)您指的是什么?使用什么算法?它是用什么语言写的?除了生成位图之外,它与matplotlib有什么关系?“这个”的链接目前导致2171个结果,包括水分配、x光、费城开放式移动设备等。有一个很好的动画示例,其中有一些(但可能不是全部)关于如何制作的细节。文档链接已经更新;这里有一个新的有效方法:。请注意,不幸的是,在编写本文时,
    geoplot
    不支持连续的卡通图。此存在跟踪问题:。