2016-07-11 4 views
0

Ich habe eine Abstandsmatrix in R mit scatterplot3d gezeichnet und möchte nun jedem Punkt eine eindeutige Farbe zuweisen. Zum Beispiel in dem folgenden Beispiel würde das Grundstück fünf Punkte enthalten (AE):R 3D-Diagramm der Abstandsmatrix mit farbigen Punkten

 A  B  C  D  E 
A  0  0.1  0.2  0.1  0.2 
B  0.1  0  0.1  0.2  0.1 
C  0.2  0.1  0  0.1  0.2 
D  0.1  0.2  0.1  0  0.1 
E  0.2  0.1  0.2  0.1  0 

Derzeit mein scatterplot3d Code für das Auftreten der Punkte ist sehr einfach:

s3d <- scatterplot3d(x,y,z, main="Just A Test", pch = 19) 

Wie gehe ich vor, dass jeder der Punkte eine andere Farbe erhält (mit Hex-Codes)?

Antwort

0

Haben Sie das color Argument in ?scatterplot3d .... angeschaut?

dd <- read.table(header=TRUE,text=" 
     A  B  C  D  E 
A  0  0.1  0.2  0.1  0.2 
B  0.1  0  0.1  0.2  0.1 
C  0.2  0.1  0  0.1  0.2 
D  0.1  0.2  0.1  0  0.1 
E  0.2  0.1  0.2  0.1  0") 

Hier bin ich vorausgesetzt, Sie wollen Spalten als Koordinaten A-C verwenden ...

library(scatterplot3d) 
## some made-up colors 
cols <- c("#000000","#fa0ace","#eeabce","#5a0af0","#883856") 
s3d <- with(dd,scatterplot3d(A,B,C, 
    main="Just A Test", pch = 19, color=cols,cex.symbols=3)) 

enter image description here

+0

Danke für die Antwort! Ich habe mir das Argument 'color' angeschaut, aber das Problem ist, dass meine tatsächliche Matrix ein paar hundert verschiedene Reihen hat, die auf etwa ein Dutzend verschiedene Farben aufgeteilt sind. Gibt es eine Möglichkeit, Vektoren in den Code einzubauen, um die Gruppierungen zu vereinfachen? Zum Beispiel # 000000 für die Zeilen 1-15, # fa0ace für die Zeilen 16-30 und so weiter. –

+0

'newcols <- rep (original_colors, jeweils = 15)'. (Ich bin verwirrt; deine Frage sagt, du willst, dass "jeder Punkt" eine andere Farbe hat ... Deshalb ist ein * reproduzierbares Beispiel * eine gute Idee ...) –

Verwandte Themen