小编CDa*_*Dav的帖子

使用marmap包和getNOAA.bathy将测深线添加到ggplot

我想在我正在看的地图上添加测深线.我正在海岸附近绘制点,我们感兴趣的是它们离大陆架有多近.我见过一个名为Marmap的软件包 - 但现在我正在使用ggplot,因为它提供了更高的分辨率.

我见过获得测深线的代码是这样的:

library(marmap)

Peru.bath <- getNOAA.bathy (lon1 = -90, lon2 = -70, lat1 = -20, 
                            lat2 = -2, resolution = 10) 

plot(Peru.bath)
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码,我想添加测深线,如下所示:

coast_map <- fortify(map("worldHires", fill=TRUE, plot=FALSE))
gg <- ggplot()
gg <- gg + geom_map(data=coast_map, map=coast_map,
                    aes(x=long, y=lat, map_id=region),
                    fill="white", color="black") +
  theme(panel.background = element_blank()) + 
  theme(panel.grid.major = element_blank()) + 
  theme(panel.grid.minor = element_blank()) +
  theme(axis.text.x = element_blank(), axis.text.y = element_blank(), axis.ticks = element_blank())
gg <- gg + xlab("") + ylab("")
gg <- gg + geom_map(data=data.frame(region="Peru"), map=coast_map,
                    aes(map_id=region), …
Run Code Online (Sandbox Code Playgroud)

r map ggplot2

4
推荐指数
1
解决办法
3132
查看次数

ggplot geom_point 上的点大小发生变化且没有图例?

好的,这是我的底图代码:

gg <- ggmap(Peru) +
  geom_map(data = peru.coast, map = peru.coast, aes(x = long, y = lat, map_id = region),
           fill="gray", color="black") +
  xlim(-86, -70) +
  ylim(-20, -4) + 
  labs(x = "Longitude", y = "Latitude") +
  coord_map()
Run Code Online (Sandbox Code Playgroud)

然后我添加我希望手动命名的城镇(不知道如何使用谷歌地图来做到这一点,因为我只想要这 4 个)

gg <- gg + geom_point(aes(x=-78.981885, y=-8.229354, size=3)) +
  annotate("text", label='Salaverry', size=4, x=-77.2, y=-8.229354) +
  geom_point(aes(x=-71.345838, y=-17.644347, size=3)) +
  annotate("text", x=-70.545838, y=-17.644347, label = 'Ilo', size=4) +
  geom_point(aes(x=-77.142375, y=-12.047544, size=3)) +
  annotate("text", x=-75.9, y=-12.047544, label = 'Callao', size=4) +
  geom_point(aes(x=-78.610677, y=-9.074166, …
Run Code Online (Sandbox Code Playgroud)

maps r ggplot2 ggmap

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

如何在不使用scale = free的情况下在facet包裹中填充整个饼图

进一步回答上一个问题如何对大量数据进行子集或聚合,以便我可以制作单独的饼图

我已经成功地制作了下面的饼图,这很棒,但是有人知道我可以根据 Trip_Set 填充饼图的方法吗?即,大多数 Trip_Sets 只有一名男性或一名女性,因此它们应该完全是粉红色或蓝色的。因为其中一个有 3 (271_6),所以将其(最高的)作为默认值,以便其他饼有空白空间。我知道,如果我在条形图中这样做,我可以添加scales = "free",但这不适用于非笛卡尔坐标系统......

这是我的数据:

Trip_Set   sex
119_4      hembra
119_4      hembra
119_7      hembra
161_7      macho
193_8      hembra
255_7      macho
271_6      hembra
271_6      macho
271_6      hembra
328_7      hembra
403_3      hembra
428_2      hembra
655_4      hembra
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

pie <- ggplot(dframe2, aes(x=1, y='Trip_Set', fill=sex)) +
  geom_bar(width = 1, stat="identity") +
  ggtitle("Sex ratio per line") +
  coord_polar(theta='y') +
  facet_wrap(~Trip_Set, ncol = 5) 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r scale fill facet-wrap pie-chart

3
推荐指数
1
解决办法
2868
查看次数

标签 统计

r ×3

ggplot2 ×2

facet-wrap ×1

fill ×1

ggmap ×1

map ×1

maps ×1

pie-chart ×1

scale ×1