问题标签 [choropleth]

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 投票
1 回答
4848 浏览

r - 更改文本/标签 ggplot 图例

我相信这个问题与之前在这里提出的类似问题略有不同,因为使用了scale_fill_brewer(. 我正在研究与此类似的等值线https://gist.github.com/233134

看起来像这样:

叶绿素

和传说一样:

传奇

我喜欢它,但想将图例上的标签从剪裁标签(即( 2 , 4 ]很容易更改 scale_... 内的标签,如此处所示我似乎无法弄清楚标签 = 参数的放置位置。我当然可以重新编码,但这似乎效率低下。我应该把论据?choropleth$rate_dlabels=c(A, B, C, D...)

这是一段感兴趣的代码(完整代码使用上面的链接)

预先感谢您的协助。

编辑:使用 DWin 的方法(应该发布这个错误,因为这是我之前遇到的)

0 投票
1 回答
1377 浏览

r - geom_map 所有子区域的颜色相同

由于 ggplot2 具有 geom_map,我正在尝试从旧的映射数据方式转移到等值线。示例见第 10-11 页(此处)。

我正在尝试使用我过去创建的 choropleth 的数据集来执行此操作,而不是使用 ggplot 的新 geom_map。这是我的尝试,我认为它就像哈德利的例子,但一切都是相同的颜色。

数据集和代码:

为什么它显示为相同的颜色?


来自@PaulHiemstra 的附加信息

我对此有点困惑,并没有得到好的结果。但是,我也想知道为什么您链接到的 ggplot2 pdf 中的示例有效。

此代码生成正确的等值线图。

人们会期望通过使用,在(多边形)中的列和( ) 中的map_id = state列之间建立了链接。包含一列:states_mapcrimesMurdercrimesstate

states_map没有:

所以在多边形和数据之间的链接中,一些黑魔法似乎正在发生。这也可以解释@TylerRinker 的问题。

0 投票
2 回答
4932 浏览

r - 什么时候应该使用 geom_map?

我正在制作一个在 ggplot 中添加点的等值线图。因此,按照geom_map 帮助文档的最后一个示例

我想出了这个:

这对等值线图很有用。(除此之外,我对这个map_data功能很兴奋。)但后来我尝试加分

我无法让它工作。我尝试了很多变体,设置groupNULL,命名aes参数等。没有运气。所以我发现这个问题通过将地图数据与 choropleth 数据合并并使用 来完成完全相同的事情而没有问题,geom_polygon无论如何这似乎更简单。(首先我花了一点时间来计算 ID 映射,因为我没有意识到我必须删除region列名才能成功使用id. 而且第一种方法的语法对我来说仍然很奇怪。)

所以,两个问题:

  1. 如何使用上面显示的方法从不同的数据框中添加点geom_map
  2. geom_map更重要的是,与该geom_polygon方法相比,使用有什么优势吗?
0 投票
1 回答
32865 浏览

r - 如何在 ggplot 等值线图中将 NA 颜色从灰色更改为白色?

我正在尝试创建一个美国的等值线地图,其默认颜色从灰色变为白色。

我有 48 个状态中的 18 个的记录,并且代码可以按值着色,但对于那些我没有记录的状态,状态是灰色的。我希望它们是白色的。

如何更改颜色?

0 投票
1 回答
1142 浏览

r - 自定义 choropleth 地图,将各州分组为地区

我正在尝试创建一个基本上将州分组为销售区域的等值线地图。例如:乔治亚州、佛罗里达州和阿拉巴马州将被视为一个称为东南部的领土。

看来我应该能够使用来自 map_data("state") 的现有状态 shapefile 数据来创建具有这些领土的新 shapefile。

但我不完全确定如何做到这一点。


谢谢你们的帮助。让我尝试添加一些代码来解释。

0 投票
2 回答
6931 浏览

r - Choropleth 世界地图

我已经阅读了很多主题和文章,但我不断收到错误。我正在尝试做一个等值线?使用我从全球恐怖主义数据库中获得的数据绘制的世界地图。我想根据 nkills 或该国家/地区的攻击次数来为国家着色。我现在不在乎。因为有这么多的国家有数据,所以做任何图表来展示这些数据是不合理的。

非常感谢您的帮助,如果我没有正确地提出这个问题,我真诚地道歉,我正在学习这个网站的规则。

我的代码(到目前为止..)

在 gtd 数据框中,国家列的名称是“country_txt”,所以我想我会使用它,但在 fix.by(by.x, x) 中出现错误:'by' 必须指定唯一有效的列

如果那行得通,我会像在几个网站上看到的那样进行绘图。老实说,我已经为此工作了很长时间,并且阅读了很多代码/其他类似问题/网站/r手册等。我会接受我在 R 方面的无能很高兴寻求帮助。

0 投票
1 回答
623 浏览

r - 处理用 ggplot2 绘制的等值线图中的异常值

我想在 ggplot 中绘制一些地图数据,其中根据连续变量的值填充多边形。我遇到的一个问题是,数据中只有少数极端异常值(约 3000 个中的 10 个)阻止了大多数其他观察结果以足够有意义的颜色变化显示。

基本上我希望能够为我的大部分数据指定配色方案,然后将所有正异常值都涂成亮蓝色,将所有负异常值涂成亮红色。

示例代码 - 举例来说,假设大多数数据介于 -0.01 和 0.01 之间,但有一些值低于/高于这些水平......

0 投票
1 回答
718 浏览

r - 如何使多边形在ggplot中被剪裁而不是消失

我正在尝试用我自己的多边形创建一个等值线图。多边形平铺整个世界,但我只想显示美国境内的区域。我想要的是剪辑超出覆盖美国的边界框的多边形,但是当我将边界框指定为限制时,会发生部分位于边界框之外的所有多边形根本不绘制。

我有看起来像这样的数据,指定矩形:

我正在使用这样的代码:

我得到这样的输出:

R输出

可以看出,边界框外的多边形根本没有绘制,但我希望它们被绘制和裁剪。有什么帮助吗?

0 投票
4 回答
22239 浏览

r - 在R中绘制带有国家值作为颜色的地图?

我有以下简单的示例数据,我想在地图上绘制与给定国家的值相对应的渐变颜色。

在谷歌搜索中,我找到了几个网站。但是,我正在寻找小而清晰的代码,并且最好是快速的(我发现 ggplot 方法相对较慢)。世界地图的分辨率不需要很高。

我尝试了以下代码:

特定国家可以按以下方式着色:使用 [R] 地图包 - 在世界地图上的特定国家着色 使用命令:

但是我怎样才能得到带有渐变颜色的上述数据的地图。谢谢你的帮助。

0 投票
0 回答
958 浏览

javascript - D3 中的旋转地球合唱团

我正在尝试在 d3 中制作一个带有旋转地球的 chorollpleth。我可以让地球仪渲染得很好,但我无法让国家/地区填充适当的色阶。

更长的解释。我基本上是从 Mike Bostock 的旋转地球代码开始的:

http://bl.ocks.org/mbostock/6747043

我从外部 csv 读取了大约 85 个国家/地区的一些经济数据。我正在尝试根据 csv 中的值将颜色映射到国家/地区。这里还有另一个 Bostock 的 choropleth 示例(静态的,只是美国,在 SO d3 问题中经常被引用):

http://bl.ocks.org/mbostock/4060606

我最终得到的是全球表面上的纯白色(#fff)国家。这不是我想要得到的。

我将 ISO 3166-1 数字代码添加到我的 csv 中,以便我可以将它们与 topojson 数据中的相同 ID 匹配。所以我的 csv 看起来像:

我的第一个想法是创建一个作为函数的变量,它从 topojson 数据中遍历“国家”的长度,并找到 id 等于 csv 国家/地区的 id 的国家,然后将缩放颜色分配给它们. 然后我将'context.fillStyle'设置为等于该变量/函数。那没有用。

然后我只是将'context.fillStyle'直接放在一个函数内(这是目前写在下面的代码)。那也没有用。

同样,我试图根据我设置的比例让 csv 中有数据的 85 个左右的国家在旋转地球仪的正面显示颜色编码。

我的猜测是,对于变量“上下文”及其处理的内容,我有些不理解。如果这是 .style("fill", [put my function here to map the colors]) 语法,我会没事的。那么,有人有什么想法吗?

我不是编码员。实际上,我想我正在尝试编写一些代码。也许我应该说我是一个自学成才的程序员,而且大多是糟糕的程序员。虽然通过示例、JS 控制台和其他关于 SO 的问题,我通常可以找出错误所在。这一次我走到了墙边。任何帮助表示赞赏。谢谢。