簡體   English   中英

R繪制鑽石並調整其寬度和高度

[英]R plot diamond and adjust its width and height

我想使用不同的寬度和高度值來繪制菱形。

在這個簡單的示例中,我想繪制三顆菱形,第一個(灰色)寬度不高,第二個(紅色)寬度不高,第三個(紅色)寬度不高。

我為繪圖准備了一個非常簡單的R代碼來說明這一點。 我添加了一個矢量寬度和高度來說明我想要的。 在我的示例中, cex僅使用前三個參數來放大菱形。 是否有可能形成不同高度和寬度的鑽石(也許與另一個包裝一起?)? 還是有一種簡單的方法可以調整我的代碼?

outfilename="diamondsize.png"
png(file=outfilename)

xCoords=c(1,2,3)
yCoords=c(1,2,3)
width=c(5,10,15)
height=c(15,10,5)
plot(xCoords,yCoords,pch=23,cex=cbind(width,height),
     bg=c("grey","red","navyblue"),xlim=c(0,4),ylim=c(0,4))
dev.off()

非常感謝你!

這是可以用polygon完成的示例:

x1 <- c(1,2,3,2,1)
y1 <- c(0,1,0,-1,0)

x2 <- 2*x1+4
y2 <- 5*y1
plot(c(x1,x2),c(y1,y2),type='n');
polygon(x1,y1,col=2,border=2)
polygon(x2,y2,col=3,border=3)

這將產生2顆鑽石。 第二個(綠色)在橫坐標上轉換為4,在橫坐標上放大為2,在縱坐標上放大為5。

在此處輸入圖片說明

這是一個品味問題,但是我會創建一個“默認鑽石”對象,例如diamond <- cbind(c(-1,0,1,0),c(0,1,0,-1)) ,然后創建一個功能調整大小。

dsize<-function(x,y,diamond=diamond) { 
    diamond[,1]<-diamond[,1]*x
    diamond[,2]<-diamond[,2]*y
}

並獲取輸出多邊形並將其繪制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM