繁体   English   中英

使用bar3绘制3D直方图

[英]Plot 3D histogram using bar3

我目前正在尝试使用bar3绘制hist3的输出。 这是一个简单的示例:

vec_x = [1 2 4 5 7 8 9 3 8 7 2]';
vec_y = [1 3 9 5 7 8 1 3 2 9 2]';
vec_bin_edges = 0:9;
hist3([vec_x vec_y], 'Edges', {vec_bin_edges, vec_bin_edges});
mat_joint = hist3([vec_x vec_y], 'Edges', {vec_bin_edges, vec_bin_edges});
figure
bar3(mat_joint, 1);
axis tight

为了演示我的问题,我对两个图都做了两张照片:

这是hist3([vec_x vec_y], 'Edges', {vec_bin_edges, vec_bin_edges});

这是bar3(mat_joint, 1);的输出bar3(mat_joint, 1); 在此处输入图片说明

如您所见, bar3函数并没有像hist3那样真正地“ bar3 ”数据值,因此,条形图在其位置略有偏移。 现在我的问题是,是否有可能使bar3图看起来与hist3图完全相同。 我这样做的动机是,我需要修改mat_joint矩阵并再次绘制它,而使用hist3是不可能的。

编辑:不同的颜色并不重要,这只是垃圾箱的位置

好的,我知道了:

set(gca, 'xtick', [1.5:1:10.5]);
set(gca, 'ytick', [1.5:1:10.5]);
vec_bin_labels = 1:10;
vec_string_bin_labels = reshape(cellstr(num2str(vec_bin_labels(:))), size(vec_bin_labels));
set(gca, 'xticklabel', vec_string_bin_labels);
set(gca, 'yticklabel', vec_string_bin_labels);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM