Perché l'asse x del mio grafico inizia da 5 invece che dal punto più basso del vettore?
Domanda
Sto cercando di creare un istogramma di un vettore usando R. Quando tracciamo questo l'asse x va da 5 a 9 ma parte dell'istogramma è prima di 5 (il numero più basso è 4.414002) e parte di esso èdopo 9. Lo stesso vale per il mio asse y, va da 0-5000, ma il "pentagramma" alto va un po 'al di sopra di questo 5000.
Perché non inizia dal valore più basso nel vettore?Intendiamoci, è solo la barra che non è abbastanza lunga, il grafico ha le dimensioni giuste (quindi non è un problema con le impostazioni mar o oma, ho provato a cambiarle ma non è stato d'aiuto)
Di seguito è riportato il mio codice
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']()
Modifica:
Ho scoperto qual è il problema e nel codice R sarebbe simile a questo:
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)
Ma poiché l'intervallo è compreso tra 4-9 (beh, meno in questo esempio), avere 20 pause era decisamente troppo.Mettere le pause su 6 risolve il problema.
Soluzione
Mettere le interruzioni su un numero inferiore (br= 6 nel mio esempio)
hist(logIntensityVector, main='Intensity per feature histogram', xlab='logged intensity', ylab='frequencies of features', br=6)
ha risolto il problema.