gpt4 book ai didi

r - igraph轴xlim ylim图错误

转载 作者:行者123 更新时间:2023-12-04 09:41:39 25 4
gpt4 key购买 nike

如果我做一个图g:

g <- read.table(text="

A B W

1 55 3
2 55 5
3 99 6 ",header=TRUE)

library(igraph)
g <- graph.data.frame(g)

和坐标矩阵:
y<-1:5
x<-c(0.1,0.1,0.2,0.2,0.8)
l<-data.frame(x,y)
l<-as.matrix(l)

我可以根据自定义坐标和绘图轴来绘制带有节点位置的图形。
plot(g,layout=l,rescale=F,axes=TRUE,ylim=c(0,6),xlim=c(0,1))

但是xaxis限制无法正常运行,我认为会受到yaxis限制的影响。我如何以自己希望的方式控制xaxis,例如将其保持在0到1之间。

plot(x,y,xlim=c(0,1),ylim=c(0,6))
这是一个错误吗?如果是这样并且无法解决,那么是否还有另一个具有相同功能的软件包?

最佳答案

简短的答案是,您需要将要绘制的调用的asp参数设置为0,因为默认的asp = 1会产生您所看到的行为(即,这不是错误,它是一个功能)。详细解释如下。

如您所正确注意到的,xaxis根据yaxis的不同而有所不同。具体来说,x轴的高低数字之间的距离与yaxis大致相同:

  • 如果为yaxis = c(0,6),则x轴从-3变为4。6 - 0 = 64 - (-3) = 7
  • 如果为yaxis = c(0,3),则x轴从-1变为2。3 - 0 = 2 - (-1) = 3

  • Igraph似乎在轴之间保持恒定的比率。

    如果调用 ?plot.igraph(通过 igraph对象调用的绘图功能,也可以通过 help(package = "igraph")找到),则可以在 See Also下找到:

    igraph.plotting for the detailed description of the plotting parameters



    如果单击此链接(或调用 ?igraph.plotting)并浏览参数,则会发现:

    asp A numeric constant, it gives the asp parameter for plot, the aspect ratio. Supply 0 here if you don't want to give an aspect ratio.
    It is ignored by tkplot and rglplot.

    Defaults to 1.



    因此,方面参数 asp在igraph中默认为 1。如果您想要其他比率,请将其设置为 0:
    plot(g,layout=l,rescale=F,axes=TRUE,ylim=c(0,6),xlim=c(0,1), asp = 0)

    这回答了您的问题。但是,请注意,现在的要点很大。您可能会想尝试以下参数(在 ?igraph.plotting上找到,但请注意,许多参数需要像我本人一样以 vertex.作为前缀):
  • vertex.size默认为15,5似乎更好
  • vertex.label.cex的默认值为1,最好是0.8。

  • 以下生成更好的图:
    plot(g,layout=l,rescale=F,axes=TRUE,ylim=c(0,6),xlim=c(0,1), asp = 0, vertex.size = 5, vertex.label.cex = 0.8)

    关于r - igraph轴xlim ylim图错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272349/

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