【问题标题】:Matlab - Scaling and labelling axesMatlab - 缩放和标记轴
【发布时间】:2015-04-18 18:42:50
【问题描述】:

我在 matlab 中有一个 mxn 矩阵,我正在尝试在其上使用 image 函数。当我这样做时,它会自动将轴设为 0:m 和 0:n。

图像对应于二维空间中的强度图(以 mm 为单位),因此轴 0:m(m 约为 12000)应标记为 0:6.5 (mm)。另一个轴也是如此。

我试过了:

axis([x_min x_max, y_min y_max])

我也试过了:

HANDLE.XTick = [0:[step size]:6.5];

其中的第一个重新绘制了图像以仅显示限制之间的矩阵元素(即它显示了矩阵的一小部分)。

第二个保留图像应有的状态,但将所有刻度都塞在轴的最开始处(因此刻度位于 0 到 6.5 之间,位于从 0:12000 开始的轴上)。

我想要整个矩阵成像,但轴标记在 0 到 6.5 之间。

我希望我已经说清楚了。

【问题讨论】:

    标签: matlab matlab-figure


    【解决方案1】:

    首先,您需要创建两个向量来保存您的 x 和 y 值,它们的大小与您的图像相同。假设这两个范围都在 0 到 6.5 之间,并且您的图像是 12000 x 12000 像素:

    x = linspace(0, 6.5, 12000);
    y = linspace(0, 6.5, 12000);
    
    image(x, y, image_matrix);
    

    其中image_matrix 是包含您的数据的 12000 x 12000 矩阵。默认情况下,image 使用坐标系,其原点位于图像的左上角。您可以使用 fliplr(image_matrix)flipud(image_matrix) 更改此设置。

    【讨论】:

    • 完美,谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 2014-10-05
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多