我正在使用MATLAB绘制三维直方图,除了不同的轴范围外,它的工作正常。我希望它们以某种方式定义,其中等值对位于二等分线上。
我的代码看起来像这样(或多或少地从hist3
MATLAB示例中“被盗”):
[vec_voxel_ids, vec_dose_values_reference, vec_dose_values_control] = ...
textread('_BOOSTINT_voxel_data.txt', '%u %u %u');
mat_dose_values = [vec_dose_values_reference, vec_dose_values_control];
hist3(mat_dose_values, [100, 100]);
xlabel('Dose Reference');
ylabel('Dose Control');
set(gcf, 'renderer', 'opengl');
set(get(gca,'child'), 'FaceColor', 'interp', 'CDataMode', 'auto');
它的外观如下:
答案 0 :(得分:4)
为了重新定位分档以使其中心对齐,还可以选择分箱值的范围,您可以使用hist3
的{{1}}选项(类似于'edges'
中的选项):
histc
此示例生成如下内容:
请注意,这是对数据的重新分级,因此与之前相比,您的输出可能会略有不同。这些箱子已被移动以对齐它们的中心并重新计算直方图。