2013-04-03 11 views
9

Ich habe eine Liste von Punkten, die ich auf einem Graphen in R spielen möchte. In einem Angebot haben 3 Ebenen von Informationen (X-Achse, Y-Achse und andere) Ich möchte Zeichnen Sie die Punkte in einem Diagramm und färben Sie sie auf einer Skala für die 3. Variable. Ich habe einen Prozentwert für jeden Punkt, der als dritte Variable (Z) angezeigt werden soll. Also, wenn A einen Z-Wert von 0,95 hat, möchte ich, dass es hellrot ist, aber da B nur Z = 0,65 hat, möchte ich, dass es matt rot nach blau geht. Die Werte reichen von NA (was blau sein sollte) bis 0,99 (hellrot).haben Plot Punkte auf einem Spektrum in gefärbt R

Beispieldaten:

1 1 0.02937715 
2 1 0.05872889 
3 1 0.08802983 
4 1 0.11725462 
5 1 0.14637799 
6 1 0.17537475 
7 1 0.20421981 
8 1 0.23288821 
9 1 0.26135518 
10 1 0.28959607 

Die dritte Spalte gibt die Z-Werte.

+0

Welche Zeichensystems sind Sie mit? Basisgrafiken, Gitter oder ggplot2? –

+0

Basis jetzt, aber ich habe nichts dagegen. – cianius

Antwort

14

Einige reproduzierbare Daten zu spielen wäre hilfreich:

DF <- expand.grid(x=1:100, y=1:100) 
DF$z <- abs(sin(DF$x/34) * cos(DF$y/22)) 

x und y ein Raster von 1 bis 100 sind; z liegt zwischen 0 und 1 (die Funktion ist nichts besonderes, nur etwas, das zwischen 0 und 1 bleibt und keine extrem einfache Struktur hat).

Base-Grafiken

plot(DF$x, DF$y, col=rgb((colorRamp(c("blue", "red"))(DF$z))/255), pch=19) 

enter image description here

ggplot2

library("ggplot2") 
ggplot(DF, aes(x, y, colour=z)) + 
    geom_point(shape=19) + 
    scale_colour_gradient(low="blue", high="red") 

enter image description here

+0

Hallo Brian, tut mir leid wegen der Verzögerung beim Antworten, war ziemlich beschäftigt, aber ich habe Beispieldaten hinzugefügt. Ich arbeite an dem, was du mir bisher gegeben hast. – cianius

+1

Ich nehme an, diese Antwort hilft nicht, da Sie ein Kopfgeld für mehr Details setzen, aber ich bin mir nicht sicher, was für mehr Detail Sie wollen. Abgesehen von möglicherweise wechselnden Variablennamen (die ich nicht weiß, was Sie sind, da sie nicht im Beispiel sind), sollten diese an Ihren Daten wie geschrieben arbeiten. –

+2

nein nein es hilft. Ich habe nur ein Kopfgeld gegeben, da ich die Qualität Ihrer Antwort sehr schätze. – cianius