![](/img/trans.png)
[英]rgl 3D scatterplot - controlling size of spheres from 4th dimension (bubble plot)
[英]3d scatterplot with colored spheres with R and Rgl
我想創建一個球體的三維散點圖,其顏色是第四維。 我有一個csv文件中的數據,其中每一行指示一個粒子的x,y,z位置,我有一個列告訴我粒子的值(1,2或3)。 如果它們的值為1,我想用一種顏色的球着色,否則用另一種顏色。
我創建了以下代碼:
library(rgl)
m <- read.csv(file="mem0.csv", sep = ",", head=TRUE)
mcol = m$val
i = 1
mdim = dim(m)
while (i <= mdim[1] ){
if (mcol[i] == 1){
mcol[i] = "red"
}else {
mcol[i] = "blue"
}
i = i +1
}
plot3d(m$x, m$y, m$z, col = mcol, type='s', size=0.1)
我使用rgl.snapshot()導出到svg文件:
數據應該再次顯示一層紅球,4層藍色球和一層紅球。
rgl
包的plot3d()
函數可以很容易地做這樣的事情。 你甚至可以互動地探索你的情節:
R> library(rgl)
R> df <- data.frame(x=runif(10,0,1),
+ y=runif(10,0,1),
+ z=runif(10,0,1),
+ color=round(runif(10,1,3)))
R> df
x y z color
1 0.73518229 0.1385970 0.69053482 2
2 0.88789302 0.6872121 0.54734176 2
3 0.79402546 0.5771570 0.89613292 1
4 0.19922140 0.2117405 0.25116078 1
5 0.31825325 0.7449661 0.01174593 2
6 0.64614521 0.4704698 0.68905621 1
7 0.15242295 0.6461338 0.77896858 1
8 0.32698024 0.4548752 0.33969754 3
9 0.00793849 0.6557488 0.75901935 2
10 0.20460232 0.9302882 0.23413984 3
您可以像這樣調用plot3d()
:
R> plot3d(df$x, df$y, df$z, col=df$color, size=2, type='s')
哪個會給你這樣的東西:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.