首页 > 解决方案 > R studio - lwd 参数在 lines() 函数中不起作用

问题描述

我最近研究了如何绘制两个目的地之间的航线。

我从这里学到了代码 https://www.gis-blog.com/flight-connection-map-with-r/?unapproved=5101&moderation-hash=f14c3f9e10eb5d9e983e2339bdcf05c2#comment-5101

在博客中,地图是这样的。如您所见,示例图片中的线条非常细且透明。

我完全按照它的要求做了,但是当我绘制地图时,它看起来像那样。如您所见,我生成的地图中的线条非常粗

即使我尝试更改 lwd 值,我也没有发现任何差异,我对为什么会发生这种情况感到困惑。有人对此有任何线索吗?

这是我的代码:

for (i in (1:dim(usairports)[1])) { 
  inter <- gcIntermediate(c(jfk$lon[1], jfk$lat[1]), c(usairports$lon[i], usairports$lat[i]), n=200)
  lines(inter, lwd=0.000001, col="turquoise2")    

提前致谢

标签: r

解决方案


默认情况下,Windows 上的 R 在其绘图中具有臭名昭著的混叠,这意味着您会看到非常“锯齿状”的线条。使用 Cairo 绘图系统往往会产生更好的结果,例如:

png("airport.png", type = "cairo")

map("world", regions=c("usa"), fill=T, col="grey8", bg="grey15", ylim=c(21.0,50.0), xlim=c(-130.0,-65.0))
#overlay airports
points(usairports$lon,usairports$lat, pch=3, cex=0.1, col="chocolate1")

for (i in (1:dim(usairports)[1])) { 
    inter <- gcIntermediate(c(jfk$lon[1], jfk$lat[1]), c(usairports$lon[i], usairports$lat[i]), n=200)
    lines(inter, lwd=0.1, col="turquoise2")    
}

dev.off()

推荐阅读