【问题标题】:Place Vertex Label Outside Circular Graph for Varying Sized Vertices and Varying Sized Labels为可变大小的顶点和可变大小的标签放置圆图外部的顶点标签
【发布时间】:2019-11-09 17:09:32
【问题描述】:

我正在尝试将我的顶点的标签放置在圆形图之外。我已经阅读了很多关于这方面的帖子,包括 Placing vertex.label outside a circular layout in igraphFreely placing vertex labels outside of vertices for a circle graph in R

问题是我的顶点被缩放到不同的大小,因此将标签直接放置在顶点之外,无论顶点有多大/多小,都不能按我的意愿工作。

我正在使用此问题 (Placing vertex.label outside a circular layout in igraph) 的最佳答案中的代码来生成位置。

当我删除不同大小的节点时,标签会朝正确的方向移动,但其中一些并不完全在顶点之外,因为有些名称太长了。

# set up dummy data
players <- c("Jack Taylor", "John", "Mike", "Jackson Hubbard", "Matt", "Casey", "Adam")
points <- c(20, 10, 5, 8, 15, 12, 30)
stats <- data.frame(name = players, points = points)

from <- c("Jack Taylor", "Jackson Hubbard", "Adam", "Matt", "Jack Taylor", "John")
to <- c("John", "Jack Taylor", "Jackson Hubbard", "Adam", "Adam", "Casey")
count <- c(2, 3, 5, 2, 1, 1)
assists <-  data.frame(from = from, to = to, count = count)

home_weighted_net <- graph_from_data_frame(d=assists, vertices=players, directed=T) 

V(home_weighted_net)$size <- points * 3
V(home_weighted_net)$label.cex <- 0.5
E(home_weighted_net)$width <- assists$count
# generate positions and graph
radian.rescale <- function(x, start=0, direction=1) {
      c.rotate <- function(x) (x + start) %% (2 * pi) * direction
      c.rotate(scales::rescale(x, c(0, 2 * pi), range(x)))
      }
lab.locs <- radian.rescale(x=1:7, direction=-1, start=0)


lay <- layout.circle(home_weighted_net)
plot(home_weighted_net, layout= lay,  vertex.label.degree=lab.locs, vertex.label.dist= 2)

有没有办法在设置放置时考虑顶点大小?

另外,有没有办法让标签完全在顶点之外,不管字符串有多长?

【问题讨论】:

    标签: r igraph


    【解决方案1】:

    您将vertex.label.dist 指定为常量,但它可以是向量,以便每个顶点的偏移量不同。通过顶点大小的简单函数,我得到了一个很好的结果。您也许可以进行试验并获得更好的结果。

    plot(home_weighted_net, layout= lay,  vertex.label.degree=lab.locs,
         vertex.label.dist= points/4+2.5)
    

    【讨论】:

      猜你喜欢
      • 2022-07-07
      • 1970-01-01
      • 2011-03-18
      • 2019-03-29
      • 2017-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多