小编cai*_*ira的帖子

将凸包添加到ggplot贴图中

我正在尝试创建一个包含坐标,密度和凸包多边形的ggplot.

数据是一组二十个纬度和纵向点.

这是我的代码:

# Data

economy <- read.csv("data-economy.csv", header=TRUE)

# Convex hulls.

hulls <- ddply(economy, .(Latitude, Longitude), function(economy) 
            economy[chull(economy$Latitude, economy$Longitude), ])

fig <- ggplot(economy, aes(Latitude, Longitude, colour="black", fill="black")) + 
              geom_point() + 
              geom_density2d(alpha=.5) + 
              labs(x = "Latitude", y = "Longitude") + 
              geom_polygon(data=hulls, alpha=.2)

fig
Run Code Online (Sandbox Code Playgroud)

结果图如下所示:

economypolygon1

我已经尝试了一些东西,我不能让凸包只包括最大纬度和经度的点.我可以使用以下代码在ggplot之外获得我想要的形状:

X <- economy
chull(X)
plot(X, cex = 0.5)
hpts <- chull(X)
hpts <- c(hpts, hpts[1])
lines(X[hpts, ])
Run Code Online (Sandbox Code Playgroud)

它给我的结果是这样的:

economypolygon2

如何在ggplot中获得与R base相同的形状?

另外,为什么当我更改ggplot代码中的颜色时,它是否会改变情节?

r

6
推荐指数
1
解决办法
2100
查看次数

标签 统计

r ×1