gpt4 book ai didi

R:创建世界网络 map

转载 作者:行者123 更新时间:2023-12-04 07:20:00 25 4
gpt4 key购买 nike

关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic

5年前关闭。




Improve this question




我想在 R 中生成类似于 the one below from this page 的世界网络 map 。

enter image description here

我一直在寻找一个 R 包,它可以让我做到这一点,但我一直找不到。有 D3 JavaScript Network Graphs from R 但我找不到世界网络 map 示例。
如何在 R 中创建类似的东西?

最佳答案

好吧,FWIW:这是在 map 上绘制顶点(“城市”)并用箭头连接顶点之间的边缘的一种快速而肮脏的方法:

library(maps)
library(diagram)
library(plotrix)
palette(rainbow(20))
data("world.cities")

pdf(tf <- tempfile(fileext = ".pdf"), width = 40, height = 20)

map('world', fill = TRUE, col = "lightgray", mar = rep(0, 4))

nodes <- transform(with(world.cities, world.cities[pop > 5e6,]), country.etc = as.factor(country.etc))
with(nodes, points(long, lat, col=country.etc, pch=19, cex=rescale(pop, c(1, 8))))

set.seed(1)
edges <- subset(data.frame(from = sample(nodes$name, 20, replace = TRUE), to = sample(nodes$name, 20, replace = TRUE), stringsAsFactors = F), from != to)
edges <- merge(merge(edges, nodes[, c("name", "long", "lat")], by.x = "from", by.y = "name"), nodes[, c("name", "long", "lat")], by.x = "to", by.y = "name")
edges$col <- as.integer(nodes$country.etc[match(edges$from, nodes$name)])

apply(edges[, -(1:2)], 1, function(x) curvedarrow(to=x[3:4], from=x[1:2], lcol=x[5], curve=.1, arr.pos = 1, lwd=.5))

dev.off()
shell.exec(tf)

enter image description here

关于R:创建世界网络 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33122456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com