在冲浪图中重新缩放x轴

时间:2018-08-07 14:47:04

标签: matlab axis surf

我有一个1024 x 100的矩阵。当我使用函数surf时,它绘制的数据的x轴限制为0到1024,y的轴限制为0到100,矩阵的项作为z值(按预期)。 现在我想使图中的所有内容保持相同,除了x轴限制:我希望将它们的范围从400改为1000,即我想重新缩放x轴。我不想从第400个条目开始并在第1000个条目处停止。我想要第一个条目对应于400,最后一个对应到1000。换句话说,仅将x轴的标签更改为从400到1000,而不是从0更改为1024。是否有一种简单的方法?还是需要使用meshgrid?

1 个答案:

答案 0 :(得分:0)

您可能想要这样的东西:

%Example data
[X,Y] = meshgrid(1:0.1:8,1:0.1:8);
Z = sin(X)+cos(Y);
%Example plot
surf(X,Y,Z)

%We change the XTick Labels
xt = get(gca,'XTick'); %get the actual xtick value
xl = arrayfun(@num2str, linspace(400,1000,length(xt)), 'Uniform', false).';
set(gca,'XTickLabel',xl) %set the news xtick labels.

使用set(gca,'XTickLabel',your_cell_of_string),您可以使用一些新闻字符串更改实际的XTickLabel,xlxt的大小必须相同。