我正在尝试使用R制作矢量的直方图。当我绘制这个时,x轴从5到9但是直方图的一部分在5之前(最低的数字是4.414002),其中一部分是在我的y轴上也是如此,它从0-5000开始,但是高度'stave'比这5000更高。
为什么它不从向量中的最低值开始?请注意,它只是不够长的条形图,图形尺寸合适(所以它不是mar或oma设置的问题,我尝试改变那些但是没有帮助)
以下是我的代码
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']()
编辑:
我发现问题是什么,在R代码中它看起来像这样:
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)
但是因为范围在4-9之间(在这个例子中很少,所以),有20次休息太多了。将休息放在6可以解决问题。
答案 0 :(得分:0)
将休息放在较低的数字上(在我的例子中为br = 6)
hist(logIntensityVector, main='Intensity per feature histogram', xlab='logged intensity', ylab='frequencies of features', br=6)
解决了这个问题。