【发布时间】:2013-07-17 17:40:55
【问题描述】:
我正在用 MATLAB 绘制一个 3-D 直方图,它工作得很好,除了不同的轴范围。我希望它们以某种方式定义,其中等值对位于二等分线上。
我的代码看起来像这样(或多或少从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');
这是它的外观:
【问题讨论】:
-
你能更准确地回答你的问题和你正在尝试什么吗?您是否尝试使用
axis调整轴限制? “等值对位于二等分线上”是什么意思?此外,您提供的代码默认提供 3-D 视图,我认为您错过了对view(2)的调用或类似的东西来获取您提供的图像。 -
我有两个值从 0-1000 的向量,我将它们组合成一个 nx2 矩阵。如果同一索引处的两个值相同,则它们应位于二等分线上。在图像中,情况并非如此。我提供的这段代码是我获得上图的唯一方法。
-
当然我改变了相机角度,只查看了 3d 直方图的 2D 投影,抱歉
-
我仍然不知道你所说的“二等分线”是什么意思。这是通过原点的斜率为 1 的
Y = X线吗?问题是您的每个框(或 3-D 中的矩形棱镜)不是以它们对应的值为中心,而是位于左下角吗? -
此外,在这种情况下,如果您提供可运行的简单示例,人们会更容易提供帮助(并看到手头的问题)。我想你可以用一小部分“虚拟”数据和代码来更好地说明你的问题,这些数据和代码会创建低分辨率
hist3。