想象一下,我们有7个类别(例如宗教),我们希望不是以线性方式绘制它们,而是在自动选择的簇中进行良好对齐.这里组内的个体具有相同的响应,但不应该在一条线上绘制(在绘制序数数据时会发生这种情况).
总结一下:
自动使用可用的图形空间
没有顺序的分组,在画布周围传播
个人仍然可见; 没有重叠
将群体中的个体绑定到某个(不可见的)圆圈会很好
有没有为此目的设计的包装?我需要寻找什么关键词?
示例数据:
religion <- sample(1:7, 100, T)
# No overlap here, but I would like to see the group part come out more.
plot(religion)
Run Code Online (Sandbox Code Playgroud)
将坐标分配给每个组的中心后,您可以使用wordcloud::textplot以避免重叠标签.
# Data
n <- 100
k <- 7
religion <- sample(1:k, n, TRUE)
names(religion) <- outer(LETTERS, LETTERS, paste0)[1:n]
# Position of the groups
x <- runif(k)
y <- runif(k)
# Plot
library(wordcloud)
textplot(
x[religion], y[religion], names(religion),
xlim=c(0,1), ylim=c(0,1), axes=FALSE, xlab="", ylab=""
)
Run Code Online (Sandbox Code Playgroud)

或者,您可以为每个组构建一个包含clique(或树)的图形,并使用其中一个图形布局算法igraph.
library(igraph)
A <- outer( religion, religion, `==` )
g <- graph.adjacency(A)
plot(g)
plot(minimum.spanning.tree(g))
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |