Sono molto nuovo a R quindi, per favore, sopportami se qualcosa non è chiaro nella mia domanda.Utilizzo di più scale scale_colour_gradient per diversi intervalli di dati in un grafico
Ho una "proteina" data.frame
con 5 colonne, vale a dire;
1.protein_name, 2.protein_FC, 3.protein_pval, 4.mRNA_FC, 5.mRNA_pval e 6.freq.
Sto provando a tracciare un grafico di vulcano con x = log2 (protein_FC), y = -log10 (protein_pval). Quindi mappare la dimensione dei punti su freq e colore su mRNA_FC. Tutto funziona perfettamente ed ecco il codice che ho usato:
ggplot(protein [ which (protein$freq <= 0.05),] , aes(x = log2(protein_FC) ,
y = -log10 (protein_pval) , size = freq , colour = mRNA_FC ,
label = paste(protein_name,",",mRNA_pval), alpha=1/1000)) +
geom_point() + geom_text(hjust = 0 , vjust = 0 , colour = "black" , size = 2.5) +
geom_abline(intercept = 1.3 , slope = 0) +
scale_colour_gradient(limits=c(-3,3))
tutto va bene fino a qui. Ma a causa della natura dell'esperimento, i dati sono piuttosto densi intorno a mRNA_FC = 0
. Lì, lo schema di colori di default che applica ggplot non funziona molto bene nel distinguere diversi punti.
Ho provato varie scale di colori utilizzando low="colour1"
e high="colour2"
. Tuttavia, ritengo sia preferibile utilizzare più scale di colori nell'intervallo mRNA_FC
, ad esempio qualcosa di simile. da blu a bianco per -3<mRNA<-0.2
, rosso a bianco per -0.2<mRNA_FC<0
, verde a bianco per 0<mRNA_FC<0.2
e nero a bianco per 0.2<mRNA_FC<3
.
Ma non ho ancora trovato il modo di farlo.
Qualsiasi aiuto sarebbe apprezzato. Cheers!
Non capisco pienamente alla tua domanda. Un esempio di figura o set di dati sarebbe bello, per capire meglio cosa c'è di sbagliato con i colori di default ggplot2. – smu
I round di scala dei colori predefiniti dei dati attorno a mRNA_FC = 0, ma voglio che mostri colori completamente diversi sui due lati di 0. Sento che i suoi punti di visualizzazione sono molto vicini a 0, ad esempio -0.1, 0 e 0.1 con stesso colore Spiacente, non posso condividere il set di dati perché è presto disponibile per la pubblicazione e il proprietario dei dati non vuole renderlo pubblico ancora. – ktyagi
Allora, che ne è di una scala di colori discreta con "interruzioni" definite dall'utente? – smu