drj*_*rm3 0 python matlab histogram
对于数据diffs07和diffs14,在Matlab我可以通过简单地利用获得的数据分级的X和Y坐标:
[ys07, xs07] = hist(-log10(diffs07), 250);
[ys14, xs14] = hist(-log10(diffs14), 250);
Run Code Online (Sandbox Code Playgroud)
在Python,但是,我无法找到一个简单的方法,所以我使用:
xs_diffs = np.linspace(0, 17, 250)
dx = xs_diffs[1]-xs_diffs[2]
ys07 = []
ys14 = []
for x in xs_diffs:
ys07.append( len( [ ty for ty in diffs07 if (-np.log10(ty)-dx/2.0 < x and -np.log10(ty) < x+dx/2.0) ] ) )
ys14.append( len( [ ty for ty in diffs14 if (-np.log10(ty)-dx/2.0 < x and -np.log10(ty) < x+dx/2.0) ] ) )
plt.plot(xs_diffs, ys07, 'r.', xs_diffs, ys14, 'b.')
plt.show()
Run Code Online (Sandbox Code Playgroud)
但与Matlab代码相比,这需要相当长的时间.有这么简单(而且速度更快!)的方式Python吗?
hist, bin_edges = np.histogram(diffs07,bins=250)
Run Code Online (Sandbox Code Playgroud)
用于自动选择箱(Matlab相当于你的第一个语句).或者,
hist, bin_edges = np.histogram(diffs07,bins=np.linspace(0,17,250))
Run Code Online (Sandbox Code Playgroud)
如果要根据初始尝试指定使用的箱柜范围,则应使用此选项.
Matplotlib plt.hist对立即绘图非常有帮助,同样可以选择自动或设置箱.
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |