相关疑难解决方法(0)

使用ggplot2在地图上绘制条形图?

我想使用ggplot2为地图上的每个位置生成一个条形图,就像xingmowang使用基本图形和许多包一样:

http://nzprimarysectortrade.wordpress.com/2011/10/02/let-r-fly-visualizing-export-data-using-r/

在此输入图像描述

这与在图中嵌入微型图有关.

目前,我能做的最好的事情是在抖动的点图中将值与点大小匹配:

require(ggplot2)
require(maps)

#Get world map info
world_map <- map_data("world")

#Creat a base plot
p <- ggplot() + coord_fixed()

#Add map to base plot
base_world <- p + geom_polygon(data=world_map,
                               aes(x=long,
                                   y=lat,
                                   group=group))


#Create example data
geo_data <- data.frame(long=c(20,20,100,100,20,20,100,100),
                       lat=c(0,0,0,0,0,0,0,0),
                       value=c(10,30,40,50,20,20,100,100),
                       Facet=rep(c("Facet_1", "Facet_2"), 4),
                       colour=rep(c("colour_1", "colour_2"), each=4))

#Creat an example plot
map_with_jitter <- base_world+geom_point(data=geo_data,
                                            aes(x=long,
                                                y=lat,
                                                colour=colour,
                                                size=value),
                                         position="jitter",
                                         alpha=I(0.5))

#Add faceting
map_with_jitter <- map_with_jitter + facet_wrap(~Facet)

map_with_jitter <- map_with_jitter + theme(legend.position="none")

print(map_with_jitter)
Run Code Online (Sandbox Code Playgroud)

使用ggplot2的示例地图

有一个不优雅的解决方法:

subset_data <- …
Run Code Online (Sandbox Code Playgroud)

maps plot r bar-chart ggplot2

17
推荐指数
1
解决办法
1万
查看次数

在地图上的条形图

我试图在地图上绘制垂直条形图.我在线浏览了一些例子,但不知怎的.

我的数据目前采用以下格式:

University| Count | Category | lat | long
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试执行的代码:

library(ggplot2)
library(ggmap)
library(ggsubplot)

df1 <- data.frame(
  University = c(rep("University1", 4), rep("University2", 4), rep("University3", 4), 
    rep("University4", 4)),
  Count = sample(1:10, 16, replace = T),
  Category = rep(c("A", "B", "C", "D")),
  lat = c(rep(10.902469, 4), rep(17.921959, 4), rep(18.606910, 4), rep(13.202366, 4)),
  long = c(rep(76.90020, 4), rep(83.42510, 4), rep(73.87501, 4), rep(77.62340, 4))
)

india <- get_map("India", zoom = 5)
p <- ggmap(india)
p + geom_subplot(data = df1, mapping=aes(x = long, y = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggmap

5
推荐指数
1
解决办法
4980
查看次数

有什么方法可以在地图上绘制多个条形图?

我试图在地图上绘制多个条形图,我只是在寻找一个开始的地方。我已经看过几个问题(如下所示)。

地图上的条形图

使用ggplot2在地图上绘制条形图?

如何将条形图绘制到 ggplot2 地图上

然而,所有这些似乎都过时了。

以下是我试图绘制的数据。我希望在一张地图上绘制 4 个地块,每个地理位置都有一个。我希望每个地块都是每个位置的每个目的的计数。

                 geoloc                     purpose count
1      Eastern Atlantic                    Behavior     4
2      Eastern Atlantic           Impacts/Fisheries     7
3      Eastern Atlantic                   Knowledge     8
4      Eastern Atlantic Migration/Habitat Selection     2
5      Eastern Atlantic                    Movement    10
7       Eastern Pacific                    Behavior     1
8       Eastern Pacific           Impacts/Fisheries     1
9       Eastern Pacific                   Knowledge     3
10      Eastern Pacific Migration/Habitat Selection     2
11      Eastern Pacific                    Movement     4
13 Southwestern Pacific                    Behavior     3
14 Southwestern Pacific                    Movement     7
15     Western Atlantic                    Behavior     8 …
Run Code Online (Sandbox Code Playgroud)

mapping r ggplot2 ggmap

5
推荐指数
1
解决办法
956
查看次数

Shapefile 地图上的条形图?

我正在创建一个包含亚洲大陆分区统计图的新图形,但想在每个国家/地区上方添加条形图。理想情况下,我想创建这样的东西: https: //forum.generic-mapping-tools.org/t/how-to-plot-bar-charts-on-world-map/959

在此输入图像描述

我知道这个问题之前已经被问过好几次了,但是这些问题似乎比较旧,并且使用了不再支持的软件包。我的方法是复制这个问题

我从Eurostat下载了形状文件,并成功计算了形状文件地图中每个国家的质心:

library(sf)
library(tidyverse)

map <- read_sf(dsn = "C:/Users/Adrian/Desktop/PhD/Data/ne_50m_admin_0_countries", 
               layer = "ne_50m_admin_0_countries")


asia <- map[  map$CONTINENT %in% "Asia", ]

asia <- asia %>% mutate(centroids = st_centroid(st_geometry(.))) 
asia <- asia %>% mutate(long = unlist(map(asia$centroids,1)) ,
                        lat = unlist(map(asia$centroids, 2)))

ggplot(data = asia) +
  geom_sf() + coord_sf() +
  geom_point(data = asia, aes(x = long, y = lat) , 
              size = 2 )
Run Code Online (Sandbox Code Playgroud)

给予:

在此输入图像描述

但我不知道如何继续。我想在地图上的每个中心点或附近添加一个条形图(避免任何重叠),并用一个小标签表示国家/地区。

像这样的东西:

library(reshape2)

data <- as.data.frame(asia)
data <- data %>%
  select(GU_A3 , POP_EST …
Run Code Online (Sandbox Code Playgroud)

r r-sf

5
推荐指数
1
解决办法
284
查看次数

标签 统计

r ×4

ggplot2 ×3

ggmap ×2

bar-chart ×1

mapping ×1

maps ×1

plot ×1

r-sf ×1