Wie ordnen Sie die Farbskala, um eine variable in einer 3D-scatter-plot?
Ich bin ein Anfänger in R und braucht ein wenig Hilfe für mein scripting.
Ich schaffte es generieren Skala Farbverlauf mit library(ggplot2) auf meinem 2D-plots wie folgt;
z <- c(data$conf)
d <- qplot(x, y, xlab="Dimension 1", ylab="Dimension 2", colour=z)
d
d + scale_colour_gradient(limits=c(0, 1), data=data$conf, low="blue", high="red"))
Ich bin jetzt versucht zu reproduzieren diesen Farbverlauf auf einem 3D-plot, den ich verwendet scatterplot3d oder plot3d. Ich glaube, die colorRampPalette erstellen Sie einen Farbverlauf, basierend auf 327 Zeilen (1...327), während ich interessiere mich für ein gradient ist eine Funktion der Werte in Daten$conf. Ich brauche einen Anschluss, aber wo?
attach(data)
t1 <- c(data$conf)
jet.colors <- colorRampPalette(c("blue", "red"))
e <- plot3d(x, y, z, col=jet.colors(327))
Wenn Sie mir helfen können, dass wird toll werden – Oder wenn du keine 3D-Darstellung/Skalierung Farbverlauf-Paket, das tun können, einen besseren job, auch cool.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie auf dem richtigen Weg mit
colorRampPalette()
, aber wirklich brauchen, etwas mehr wiecolorRamp()
, die 'gibt eine Funktion, die Karten Werte zwischen 0 und 1'.Noch besser wäre eine Funktion-nennen wir es
myColorRamp()
-- das ist wiecolorRamp()
aber stattdessen: (a) Karten Werte zwischenmin(values)
undmax(values)
; und (b) gibt die Farben als 7 Zeichen sRGB-strings (z.B. "#F60008"), einem format, dasplot3d()
versteht.