【发布时间】:2019-09-30 19:22:18
【问题描述】:
我想更改直方图的 y 轴以显示从 0 到 1 的百分比。这是我尝试过的方法,但它似乎不起作用。
myTolerance=1e-12; % in erg units.
nbins=50;
for j=1:ntM/100:ntM
H = histfit(Wkinet(abs(Wkinet(:,j))>myTolerance, j) * erg2eV, nbins);
%Select from column j all rows in column j whose absolute values are
%greater than the tolerance.
H(1).delete; %%Remove bins, only keep the fit.
set(gca, 'YScale', 'log');
set(gca, 'XScale', 'log'); % Make logarithmic X
yt = get(gca, 'YTick');
set(gca, 'YTick', yt, 'YTickLabel',
yt/numel(Wkinet(abs(Wkinet(:,j))>myTolerance)))
pause;
end
这是目前的样子:
这就是我想要的:
【问题讨论】:
-
你能edit你的问题包括你得到的输出吗?
-
对不起,我不能让它在我的@Secret中工作
-
设置
YTickLabel始终是最后的手段(除非您想在每个刻度上放置名称而不是数字)。不要更改YTickLabel,而是更改您绘制的值。例如H = H/max(H)或H = H/H(1),这取决于您要完成的任务。
标签: matlab histogram normalization