Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 在surf plot中重新缩放x轴_Matlab_Axis_Surf - Fatal编程技术网

Matlab 在surf plot中重新缩放x轴

Matlab 在surf plot中重新缩放x轴,matlab,axis,surf,Matlab,Axis,Surf,我有一个1024x100的矩阵。当我使用函数surf时,它以轴限制0到1024(x)绘制数据,以0到100(y)绘制数据,并将矩阵的条目作为z值(如预期的那样)。 现在我想让绘图中的所有内容保持不变,除了x轴限制:我想让它们从400到1000,也就是说,我想重新缩放x轴。我不想从第400个入口开始,在第1000个入口停止。我想第一次进入correstpond是400,最后一次是1000。换句话说,仅将x轴的标签从400更改为1000,而不是从0更改为1024。有没有一种简单的方法可以做到这一点,

我有一个1024x100的矩阵。当我使用函数surf时,它以轴限制0到1024(x)绘制数据,以0到100(y)绘制数据,并将矩阵的条目作为z值(如预期的那样)。
现在我想让绘图中的所有内容保持不变,除了x轴限制:我想让它们从400到1000,也就是说,我想重新缩放x轴。我不想从第400个入口开始,在第1000个入口停止。我想第一次进入correstpond是400,最后一次是1000。换句话说,仅将x轴的标签从400更改为1000,而不是从0更改为1024。有没有一种简单的方法可以做到这一点,或者我需要使用meshgrid

您可能想要这样的东西:

%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',你的字符串的单元格)
你可以用一些新闻字符串更改实际的XTickLabel,
xl
xt
必须有相同的大小。

你能试着把所有的内容缩短成一个句子和一个图像吗?您可以轻松设置轴属性,并使用功能
进行限制。你有什么问题吗?当我使用axis([Xmin-Xmax-Ymin-Ymax-Zmin-Zmax])时,它只绘制这些限制之间的条目。我只想将x轴的起始值改为400,最大值改为1000。你能描述一下“仅显示此值”和“不显示其他值”之间的区别吗?我不确定我是否得到了它。是否要更改
xlabel
xtick
?我的x轴上的数字不应该从0变为1024,而应该从400变为1000。我可以用画画来完成,但我正在寻找一种更合适的方式来完成。由于某些原因,我无法上传图像。我得到“上传图像失败;imgur出现错误”。@Rosen:如果将右侧
X
Y
数组传递到
surf
,则无需更改
XTickLabels
。阅读文档到
surf
。这就是我获取数据的方式。我在探测器上有1024个像素,从第一个到最后一个,我得到波长在400到1000纳米之间的光。所以在100次测量之后,我得到了一个1000X1024大矩阵,它的格式是探测器给出的。然后我只使用surf(矩阵),不定义X,Y网格。你能把描述如何直接做这件事的文档链接起来吗?不需要制作X,Y数组吗?