[英]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.