1

我目前正在尝试使用 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函数并没有真正“合并”数据值hist3,因此条形图的位置略有移动。我现在的问题是,是否有可能使bar3情节看起来完全像hist3情节。我这样做的动机是,我需要修改mat_joint矩阵并再次绘制它,而使用hist3.

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

4

1 回答 1

1

ok, I figured it out:

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);
于 2013-07-27T12:12:46.760 回答