Sto cercando di impostare una scala personalizzata in R. I miei intervalli di dati in valori da -5,4 a +3,6 e voglio centrare i dati intorno a 0 (bianco). Vorrei una scala per i dati tale che ho lo stesso numero di gradazioni sopra e sotto 0 (sto girando per 7 al momento). Il problema che sto avendo è che non riesco a ottenere il ridimensionamento corretto e non sono sicuro di dove sia il mio problema.Impostazione scala colore personalizzata in R
Il mio codice al momento (dati di origine è in collegamento Pastebin in basso):
png('127-2_4_compare_other.png',width = 1200, height = 800, units = "px")
colfunc <- colorRampPalette(c("blue", "white", "red"))
f <- function(m) t(m)[,nrow(m):1]
colorBarz=matrix(seq(-5.5,4,len=15),nrow=1)
colorBarx=1
source("127-2_4.CompareMatrix.txt")
colorBary=seq(-5.4,3.6,len=15)
cus_breaks=c(-5.400, -4.725, -4.050, -3.375, -2.700, -2.025, -1.350, -0.675, 0.45, 0.90, 1.35, 1.80, 2.25, 2.70, 3.15, 3.60)
layout(matrix(c(1,2), 1, 2, byrow = TRUE), widths=c(9,1))
image(f(Compare2and4),axes=FALSE,ylab="Amino acids",xlab="Position",main="Sample 2 vs. 4",col=colfunc(15),breaks=cus_breaks)
axis(1, seq(from = 0, to = 1, by = 0.03703), labels=c(1:11,1:17))
axis(2, seq(from = 0, to = 1, by = 0.0526),labels=rev(c("A","R","N","D","C","E","Q","G","H","I","L","K","M","F","P","S","T","W","Y","V")),las=2)
image(colorBarx,colorBary,colorBarz,col=colfunc(15),axes=FALSE,xlab="",ylab="log(Sample4/Sample2)",breaks=cus_breaks)
axis(2,las=2)
dev.off()
Cerco sette bidoni equamente diviso sopra 0 a 3.6 e sette cestini equamente diviso inferiori a 0 a -5,4 e vorrei che O colpisse nel mezzo del cestino bianco. Inoltre, se qualcuno può consultare il codice heatmap stesso per assicurarsi che non ci siano errori evidenti lo apprezzerei molto. Pastebin of the source data
sicuro che risolvere il problema, ma in tal caso Tendo a scomporre i dati (ad esempio con 'cut') piuttosto che la tavolozza dei colori. –
Se ho capito che il taglio è corretto, questo mi aiuterebbe a creare bin di dimensioni uguali sopra 0 e sotto 0. Penso di aver fatto lo stesso qui con cus_breaks anche se potrei non guardarlo correttamente? –
probabilmente, questo può aiutare http://stackoverflow.com/questions/29301608/low-med-high-colors-for-deciles-in-ggplot – novice