3
를 사용하여 투명 색상 I이 그라데이션으로 화살표를 그립니다 다음 코드 :이 그림 생산R : colorRampPalette
csa <- function(x1,y1,x2,y2,first.col,second.col,length=0.15, ...) {
cols <- colorRampPalette(c(first.col,second.col))(250)
x <- approx(c(0,1),c(x1,x2), xout=seq(0,1,length.out=251))$y
y <- approx(c(0,1),c(y1,y2), xout=seq(0,1,length.out=251))$y
arrows(x[250],y[250],x[251],y[251], col=cols[250],length=length, ...)
segments(x[-251],y[-251],x[-1],y[-1],col=cols, ...)
}
color.scale.arrow <- Vectorize(csa, c('x1','y1','x2','y2'))
# Create sample data
x <- c(1,3,5,3,2,1,6,2)
y <- c(2,5,3,7,2,1,5,6)
x1 <- c(1,3,5,3)
y1 <- c(2,5,3,7)
x2 <- c(2,1,6,2)
y2 <- c(2,1,5,6)
# Plot sample data
plot(x,y, main='')
color.scale.arrow(x1,y1,x2,y2,'#5F9EA0','#CD3333',lwd=2)
: 나는이 선을 투명하게 할
을, 컬러 코드에 50을 더하면 (예 : 투명도 = 50 %) 불행하게도 작동하지 않습니다.
이것이 작동하지 않는 이유와이 줄을 투명하게 만드는 방법에 대해 알고 싶습니다.
불행히도 필자의 예제 데이터에서는 작동하지 않습니다 ... 플롯 (x, y, main = '') 명령 다음에 줄을 복사하여 붙여 넣은 다음 50 대신 "7f"를 사용하여 해당 줄을 시도했습니다 ,하지만 나는 같은 음모를 계속 간직하고있다. 내가 놓친 게 있니? – Abdel
당신은'csa()'의'cols'에 이것을해야 할 것입니다. – James
@James가 맞습니다. 제 답변을 수정하겠습니다. –