1
我正在使用rgl包在3d中繪製線段。我想根據未被繪製的數據框中的值對線段進行顏色編碼。我可以讓線條變成彩色,但是每個線段似乎都是顏色的漸變。我怎樣才能使每個細分市場一個純色?此外,行不是基於我嘗試使用的數據框中的值着色。我的函數適用於散點圖,但我擔心它無法很好地轉換爲細分。我的代碼與我的測試數據一起發佈如下。如何根據rgl中的數據框中的值對線段進行着色?
library("rgl")
library("rglwidget")
zz <- "
sequence x y z x2 y2 z2 col
a 1 5 1 100 1000 2 4
b 2 4 1 200 900 2 3
c 2 4 1 300 800 2 2
d 2 4 1 400 700 2 1
e 3 3 1 500 600 2 0
f 3 3 1 600 500 2 -1
g 4 2 1 700 400 2 -2
h 4 2 1 800 300 2 -3
I 4 2 1 900 200 2 -4
j 5 1 1 1000 100 2 -5"
data <- read.table(text=zz, header=TRUE)
w <- names(data[8])
gradient <- colorRampPalette(c("red", "orange", "yellow", "green", "blue", "violet"))
v <- gradient(10)[as.numeric(cut(data[[w]], breaks=10))]
segments3d(x=as.vector(t(log(data[,c(2,5)]))),
y=as.vector(t(data[,c(4,7)])),
z=as.vector(t(log(data[,c(3,6)]))),
axes=FALSE, col=v, plot=TRUE)
rgl.bbox(color="grey50", emission="grey50",
xat = log(10^((-1):6)), yat = c(1, 2, 3, 4), zat = log(10^((-1):6)), xlab=10^((-1):6), ylab = (1:4), zlab=10^((-1):6))
aspect3d(1,1,1)
真棒!非常感謝。在此代碼的另一個版本中,我使用rglwidget,因爲我使用WebGL來創建帶有圖形的網頁。 – arprater
你不需要'rglwidget'包,它已經被合併到'rgl'中。 – user2554330