MATLAB中同一直方图中零值和小值的可视化

Visualization of zero values and small values in the same histogram in MATLAB

我想绘制一个直方图,其中一些 x 值为 0,而其他 x 值介于 0.002 和 0.008 之间。问题是,即使指定 xlim,列也会重叠,但它们当然不应该重叠。

x1 = zeros (3000,1);
hist(x1);xlim([0 0.008]);
h = findobj(gca,'Type','patch');
set(h,'Facecolor',[1 0 0]);
set(h,'FaceAlpha',0.7);
hold on
n = 3000;
R = [0.002 0.008];
x2 = rand(n,1)*range(R)+min(R);
hist(x2);xlim([0 1])
h1 = findobj(gca,'Type','patch');
set(h1,'facealpha',.3)

你真的需要使用两个直方图吗?

hist([x1; x2])