连接所有点之间的线条绘制

5

我有以下的R代码

x <- c(0.01848598, 0.08052353, 0.06741172, 0.11652034)
y <- c(0.4177541, 0.4042247, 0.3964025, 0.4074685)
d <- data.frame(x,y)

ggplot(d, aes(x=x, y=y)) + 
  geom_point(size=4)

它创建了以下图表:

RPoints

我希望以可重复的方式绘制这些点之间的所有可能连线,即点的数量、位置等可能会发生变化。是否有R函数可以实现这样的功能?标准的+geom_point()只会在x轴上的相邻点之间绘制连线。我的理想输出如下所示。谢谢提前。

RPoints with lines

奖励 - 有人知道一种度量方法(最好在R中可用)来估计一组点占据的空间体积吗?在这种情况下,是由外三角形所包含的空间集合。

编辑 - 奖励问题已经在另一个SO问题这里中得到回答。

@JHowlX 奖励问题实际上是一个独立的问题。它本身就很有趣。您可以将其删除作为奖励并重新提问,这样更不容易被忽略,并符合帮助中心指南。 - Tyler Rinker
1
@Tyler Rinker 很好的建议,我担心奖金不是一个真正的SO编程问题,而更像是一个数学问题。但是当我采纳了你的建议并在SO上写下它时,我在这里找到了答案。我还没有验证它是否有效,但肯定看起来很有前途! - JHowIX
1个回答

9

您可以始终进行转换,以创建您想要绘制的所有段

x <- c(0.01848598, 0.08052353, 0.06741172, 0.11652034)
y <- c(0.4177541, 0.4042247, 0.3964025, 0.4074685)
d <- data.frame(x,y)

idx <- combn(1:length(x), 2)
dd <- data.frame(x=x[idx[1,]],y=y[idx[1,]], xend=x[idx[2,]], yend=y[idx[2,]])

ggplot(d,aes(x,y)) + 
    geom_point(data=d) + 
    geom_segment(data=dd, aes(xend=xend, yend=yend))

这导致了:

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接