2013-04-03 16 views
9

Ho una lista di punti che voglio giocare su un grafico in R. Nel tentativo di avere 3 livelli di informazione (asse X, asse Y e altro) voglio traccia i punti su un grafico e colorali su una scala per la terza variabile. Ho un valore percentuale per ogni punto che voglio visualizzato come terza variabile (Z). Quindi se A ha un valore Z di 0,95, lo voglio un rosso acceso, ma poiché B ha solo Z = 0,65, voglio che il rosso opaco diventi blu. I valori vanno da NA (che dovrebbe essere blu suppongo) a 0,99 (rosso vivo).hanno punti di trama colorati su uno spettro in R

dati Esempio:

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 

La terza colonna indica i valori Z.

+0

Quale sistema di tracciare stai usando? Grafica di base, reticolo o ggplot2? –

+0

base adesso, ma non mi dispiace. – cianius

risposta

14

Alcuni dati sono riproducibili con cui giocare sarebbe utile:

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

x e y sono una griglia da 1 a 100; z varia tra 0 e 1 (la funzione non è nulla in particolare, solo qualcosa che rimane tra 0 e 1 e non ha una struttura estremamente semplice).

grafica Base

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

Ciao Brian, mi dispiace per il ritardo nel rispondere, sono diventato piuttosto occupato, ma ho aggiunto dati di esempio. Ill lavoro su quello che mi hai dato finora comunque. – cianius

+1

Presumo che questa risposta non sia d'aiuto, dal momento che metti una taglia per maggiori dettagli, ma non sono sicuro di quali dettagli desideri. A parte il possibile cambiamento dei nomi delle variabili (che non so quali siano i tuoi poiché non sono nell'esempio), questi dovrebbero funzionare sui tuoi dati come scritti. –

+2

no no aiuta. Ho appena dato un premio in quanto apprezzo molto la qualità della tua risposta. – cianius