[英]Issues with geographical coordinates with R tkplot
I want to spatialise graph's vertex with geographical coordinates (epsg:27572) but when I use the tkplot
function tkplot.setcoords()
, coordinates are 'centred', one 0 appears and the spatialisation is a kind of mirror symmetry of the true positions.我想用地理坐标 (epsg:27572) 空间化图形的顶点,但是当我使用
tkplot
函数tkplot.setcoords()
,坐标是“居中”的,一个 0 出现,空间化是一种真实位置的镜像对称。 An example:一个例子:
library(igraph)
library(tcltk)
relations <- read.table(header=TRUE, check.names= FALSE, textConnection("
A B x y
1 1 2 762920 1872674
2 2 3 778202 1899896
3 3 5 746324 1859111
4 4 5 762920 1872674
5 5 6 762920 1872674
6 6 3 762920 1872674"))
g1 <- graph.data.frame(relations, directed=TRUE)
# fill vertex attributes with coordinates of the table 'relations'
for(i in 1:length(V(g1))){
for(j in 1:nrow(relations)){
if(V(g1)[i]$name==as.character(relations$A[j])){
V(g1)[i]$coordx <- relations$x[j]
V(g1)[i]$coordy <- relations$y[j]
}
}
}
list.vertex.attributes(g1)
# plot the spatialised graph
coords <- cbind(V(g1)$coordx, V(g1)$coordy)
id <- tkplot(g1)
tkplot.setcoords(id, coords)
tkplot.center(id)
tkplot.fit.to.screen(id)
Problem is that coords
were tranformed compared to initial:问题是与初始
coords
相比, coords
发生了变化:
> tkplot.getcoords(id)
[,1] [,2]
[1,] 762920 27222
[2,] 778202 0
[3,] 746324 40785
[4,] 762920 27222
[5,] 762920 27222
[6,] 762920 27222
Obviously the 2nd column of the coordinates has been 'centred' to 0. A node appears in the right bottom of tk
window.显然,坐标的第二列已经“居中”到 0。一个节点出现在
tk
窗口的右下角。
Maybe try the original values:也许尝试原始值:
coords <- cbind(relations$x, relations$y)
and then plot as usual然后像往常一样绘图
id <- tkplot(g1)
tkplot.setcoords(id, coords)
tkplot.center(id)
tkplot.fit.to.screen(id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.