तुम हमेशा हाथ से साजिश बना सकते हैं: आधार ग्राफिक्स के साथ , आप fig
पैरामीटर आप एक और साजिश के अंदर भूखंडों को जोड़ने के लिए अनुमति देता है।
# Sample data
n <- 100
k <- 6
d <- matrix(rnorm(k*n),nc=k)
d[,2] <- d[,1] # To help check the results
colnames(d) <- LETTERS[1:k]
x <- apply(d,2,cumsum)
r <- hclust(dist(t(d)))
# Plot
op <- par(mar=c(0,0,0,0),oma=c(0,2,0,0))
plot(NA,ylim=c(.5,k+.5), xlim=c(0,4),axes=FALSE)
# Dendrogram. See ?hclust for details.
xc <- yc <- rep(NA,k)
o <- 1:k
o[r$order] <- 1:k
for(i in 1:(k-1)) {
a <- r$merge[i,1]
x1 <- if(a<0) o[-a] else xc[a]
y1 <- if(a<0) 0 else yc[a]
b <- r$merge[i,2]
x2 <- if(b<0) o[-b] else xc[b]
y2 <- if(b<0) 0 else yc[b]
lines(
3+c(y1,i,i,y2)/k,
c(x1,x1,x2,x2),
lwd=k-i
)
xc[i] <- (x1+x2)/2
yc[i] <- i
}
# Time series
axis(2,1:k,colnames(d)[r$order],las=1)
u <- par()$usr
for(i in 1:k) {
f <- c(0,3,i-.5,i+.5)
f <- c(
(f[1]-u[1])/(u[2]-u[1]),
(f[2]-u[1])/(u[2]-u[1]),
(f[3]-u[3])/(u[4]-u[3]),
(f[4]-u[3])/(u[4]-u[3])
)
par(new=TRUE,fig=f)
plot(x[,r$order[i]],axes=FALSE,xlab="",ylab="",main="",type="l",col="navy",lwd=2)
box()
}
par(op)
(यह लिखने के बाद, मुझे पता है यह शायद करना आसान layout
साथ है कि ...)
+1 आप इस के लिए बहुत बहुत धन्यवाद! वास्तव में एक सुंदर दृष्टिकोण :) – Legend
यह कमाल है! किसी भी मौके पर आप कोड को एनोटेट करने के इच्छुक हैं ताकि दूसरों को सीखने में मदद मिल सके और कोड में क्या हो रहा है, आसानी से देख सकें? – Jota
मैं दूसरा @ फ्रैंक कर सकता हूं। कुछ एनोटेशन अच्छा होगा! – by0