subtitulo - tamaño de fuente en r
Configuración de escala de color personalizada en R (1)
Un problema con la escala de color propuesta es que la distancia perceptual entre cada punto de la escala no es igual. La misma distancia de color se refiere a una mayor gama de valores de datos en el extremo positivo, en comparación con el extremo negativo. Sugeriría no reinventar la rueda, y hacer uso de las grandes capacidades de ggplot
.
Por defecto, la escala de color divergente tendrá blanco como el punto medio en el valor 0.
Por ejemplo:
Compare2and4_t <- t(Compare2and4)[,nrow(Compare2and4):1]
am_ac <- c("A","R","N","D","C","E","Q","G","H","I","L","K","M","F","P","S","T","W","Y","V")
pdat <- data.frame(x = 1:nrow(Compare2and4_t),
y = factor(rep(am_ac, each = nrow(Compare2and4_t)), levels = rev(am_ac)),
val = c(Compare2and4_t))
library(ggplot2)
library(scales)
ggplot(pdat, aes(x, y, fill = val)) +
geom_tile() +
scale_fill_gradient2(low = ''darkblue'', high = ''darkred'',
limits = c(-5.4, 3.6), oob = squish) +
coord_equal(expand = FALSE) +
scale_x_continuous(breaks = unique(pdat$x)) +
theme_classic() +
labs(x = ''Position'', y = ''Amino acids'')
Estoy intentando configurar una escala personalizada en R. Mis datos varían en valores de -5.4 a +3.6 y quiero centrar los datos alrededor de 0 (blanco). Me gustaría obtener una escala de los datos tal que tenga el mismo número de gradaciones por encima y por debajo de 0 (estoy grabando para 7 en este momento). El problema que estoy teniendo es que no puedo corregir la escala y no estoy seguro de dónde está mi problema.
Mi código en este momento (los datos de origen están en el enlace de Pastebin en la parte inferior):
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()
Estoy buscando siete compartimientos divididos en partes iguales por encima de 0 a 3.6 y siete compartimientos divididos uniformemente por debajo de 0 a -5.4 y me gustaría 0 golpear en el medio del contenedor blanco. Además, si alguien puede consultar el código del mapa de calor para asegurarse de que no hay errores obvios, lo agradecería enormemente. Pastebin de los datos fuente