matlab:将轴从px更改为um

时间:2013-02-20 07:01:33

标签: matlab scale axis rescale

简单的问题......

我有一个矩阵,让say A = magic(512)。我将其显示为imagesc(A)。现在,我知道,1px等于x = 15 [um]。如何以um而不是px显示轴值? 感谢

2 个答案:

答案 0 :(得分:4)

您要做的是更改XTickLabelYTickLabel。这应该可以解决问题:

A = magic(512);
imagesc(A)
set(gca,'XTickLabel',15*get(gca,'XTick'));
set(gca,'YTickLabel',15*get(gca,'YTick'));

您使用XTickXTickLabel通常相同的事实,这样您就不必首先将字符从XTickLabel转换为数字。 (当然,Y也是如此)。

答案 1 :(得分:2)

我常常喜欢看两个音阶。我通过覆盖第二个轴来做到这一点。

段:

A = magic(512);
clf
imagesc(A)
a1 = gca;
xlabel('px');ylabel('px');
set(a1,'Box','off');
a2 = axes('Color','none','XLim',get(a1,'XLim')/15,'YLim',get(a1,'YLim')/15,...
    'XAxisLocation','top','YAxisLocation','right',...
    'Position',get(a1,'Position'),'YDir','reverse',...
    'XColor','r','YColor','r');
xlabel('um');ylabel('um');

您可以使用单位a2中的x和y坐标绘制[um]中的优势。