¿Por qué el eje x de mi gráfico comienza en 5 en lugar de en el punto más bajo del vector?
Pregunta
Estoy tratando de hacer un histograma de un vector usando R. Cuando trazo esto, el eje x va de 5 a 9 pero parte del histograma está antes de 5 (el número más bajo es 4.414002) y parte de él esdespués de 9. Lo mismo ocurre con mi eje y, va de 0 a 5000, pero el talles 'pentagrama' va un poco por encima de este 5000.
¿Por qué no comienza en el valor más bajo del vector?Eso sí, solo la barra no es lo suficientemente larga, el gráfico tiene el tamaño correcto (por lo que no es un problema con la configuración de mar o oma, intenté cambiarlos pero eso no ayudó)
A continuación se muestra mi código
import rpy2.robjects as R
import R_functions as R_funct
csvData = (R.r['read.csv'](file='/homes/ndeklein/test.csv', head=True, sep='\t'))
hist = R.r.hist
R.r.png('/homes/ndeklein/test_intensity_hist.png', width=300, height=300)
intensityVector = csvData[0]
logIntensityVector = R.r['log10'](intensityVector)
hist(logIntensityVector, main='Intensity per feature histogram', xlab='logged intensity', ylab='frequencies of features', br=20)
R.r['dev.off']()
Editar:
Descubrí cuál es el problema y en el código R se vería así:
vector = c(5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 5.67750749154535, 6.7399637450174, 6.7399637450174, 6.7399637450174, 6.7399637450174, 6.7399637450174, 6.7399637450174, 6.7399637450174, 6.7399637450174)
hist(vector, breaks=20)
Pero debido a que el rango está entre 4-9 (bueno, menos en este ejemplo), tener 20 descansos fue demasiado.Poner los descansos en 6 resuelve el problema.
Solución
Poner las pausas en un número menor (br= 6 en mi ejemplo)
hist(logIntensityVector, main='Intensity per feature histogram', xlab='logged intensity', ylab='frequencies of features', br=6)
resolvió el problema.