2017-08-12 127 views
0

確定點的顏色我有一個使用scatterplot3d該R腳本:R:由X,Y和Z值與scatterplot3d

library(scatterplot3d) 
attach(mtcars) 

rgb <- read.csv(file="rgb-data.csv",head=TRUE,sep=",") 

scatterplot3d(rgb$R,rgb$G,rgb$B, 
       xlim=c(0,255), ylim=c(0,255),zlim=c(0,255), 
       xlab="R", ylab="G", zlab="B", pch=".", 
       main=paste("Feature Space")) 

rgb-data.csv示例數據:

R,G,B 
12,48,126 
127,12,48 
46,127,12 

它產生積:

enter image description here

我是尋找4點的變化:

  1. 有(0,0,0)點是在多維數據集最前點,最核心的,而不是在底部的點留下的情節。這可能嗎?

  2. 每個點的顏色都反映了每個點的R,G和B值。例如。 (12,48,126)在上面的數據集中,點的R值是12,G是48,B是126.這可能嗎?

  3. R腳本中的X,Y和Z軸範圍從0到255。但是,在繪圖中它們的範圍是從0到300.我希望生成的繪圖中的軸範圍爲0到255。這可能嗎?

  4. 「B」和「G」軸標籤旋轉270度。我希望它們與「R」軸標籤的方向相同。這可能嗎?

回答

0

我不確定是否正確理解第一個問題。但是,這是代碼。

  1. 控制與xlimylimzlim
  2. 使用RGB函數(請注意,你可能需要改變你的變量名,因爲該功能被稱爲rgb
  3. 控制與x.ticklabsy.ticklabsz.ticklabs

該代碼

library(scatterplot3d) 

R <- sample(0:255, 100) 
G <- sample(0:255, 100) 
B <- sample(0:255, 100) 

RGB_ <- rgb(R/255, G/255, B/255) 

r_ticks <- c(-255, -200, -100, 0, 100, 200, 255) 
ticks <- c(0, 50, 100, 150, 200, 250, 255) 
scatterplot3d(R, G, B, 
       xlim=c(-255, 255), 
       ylim=c(0, 255), 
       zlim=c(0, 255), 
       color=RGB_, 
       x.ticklabs=r_ticks, 
       y.ticklabs=ticks, 
       z.ticklabs=ticks) 

enter image description here

0
  1. 有(0,0,0)點是在多維數據集最前點,最核心的,而不是在底部的點留下的情節。這可能嗎?

scatterplot3d()提供了接近期望的情節設置angle=140

enter image description here

的(0,0,0)位置是在圖的底部更中心。我還設想R軸和G軸稍微向上傾斜到0到25​​5的距離。

  1. 每個點的顏色都反映每個點的R,G和B值。例如。 (12,48,126),這個點的R值是12,G是48,B是126.這可能嗎?

基於沫K公司的answer,加入

color=rgb(dat$R, dat$G, dat$B, maxColorValue = 255) 

scatterplot3d()給出預期效果,提供重命名原來的變量dat

dat <- read.csv(file="rgb-data.csv",head=TRUE,sep=",") 
  • X,Y和Z軸範圍從0到255在R腳本中。但是,在繪圖中它們的範圍是從0到300.我希望生成的繪圖中的軸範圍爲0到255。這可能嗎?
  • 莫K的answer的作品。添加

    ticks <- c(0, 50, 100, 150, 200, 250, 255) 
    

    然後

    x.ticklabs=ticks, 
    y.ticklabs=ticks, 
    z.ticklabs=ticks 
    

    scatterplots3d()

  • 的 「B」 和 「G」 軸標籤旋轉270度。我希望它們與「R」軸標籤的方向相同。這可能嗎?
  • 我還沒有找到解決方案呢。

    相關問題