【发布时间】:2015-09-22 12:25:48
【问题描述】:
在 ggtern 中是否有通过每个连续点之间的直线连接观察结果?我的代码是:
require(ggtern)
x <- data.frame(
A = c( 0, 0, 1, 0.1, 0.6, 0.2,0.8,0.33 ),
B = c( 0, 1, 0, 0.3, 0.2, 0.8, 0.1,0.33),
C = c( 1, 0, 0, 0.6, 0.2, 0.0, 0.1,0.33)
)
ggtern(data=x,aes(A,B,C)) +
geom_point(fill="blue",type="l",shape=21,size=2)
theme_classic() )
【问题讨论】:
-
您可以使用 geom_segment() 函数。我不知道您的数据是如何排序的,但这将包括任意点之间的线。
aa <- ggtern(data=x,aes(A,B,C)) + geom_point(fill="blue",type="l",shape=21,size=2)+ theme_classic()aa + geom_segment(aes(x=x[1:4,1],xend=x[5:8,1],y = x[1:4,2],yend=x[5:8,2],z=x[1:4,3], zend=x[5:8,3]),col=2) -
@Jimbou 有没有办法让它们保持有序?将 x[1:3,1] 连接到 x[1:3,2],然后将 x[1:3,2] 连接到x[1:3,3] 等等而不必指定每一行?
-
我不确定我是否理解问题所在。但是当您想将点 1 (x=x[1,1],y= x[1,2],z=x[1,3]) 与点 2 (x=x[2,1],y = x[2,2],z=x[2,3]) 然后到点 3 (x=x[3,1],y= x[3,2],z=x[3,3])等等,你可以使用
i=seq(1,7,2) ; aa + geom_segment(aes(x=x[i,1],xend=x[(i+1),1],y = x[i,2],yend=x[(i+1),2],z=x[i,3], zend=x[(i+1),3]),col=2) -
你试过
geom_path(...)