在Matlab中限制用于绘图的轴

在Matlab中限制用于绘图的轴,matlab,text,scatter,Matlab,Text,Scatter,可能重复: 是否可以减少输入文本文件中的数据点,以便这些数据点不会出现在我的计算中。我使用下面的方法读取数据 fid = fopen('cr.txt'); A = textscan(fid, '%f %f %f %f %f %*f %*f %*f %*f %*f %*s %*s %*s') ; %read the file a = A{1}; e = A{2}; c = A{3}; x = A{4}; y = A{5}; 这里x,y是距离,如果我应用xlim和ylim,我想限制文件中相应的

可能重复:

是否可以减少输入文本文件中的数据点,以便这些数据点不会出现在我的计算中。我使用下面的方法读取数据

fid = fopen('cr.txt');
A =  textscan(fid, '%f %f %f %f %f %*f %*f %*f %*f %*f %*s %*s %*s') ;
%read the file
a = A{1};
e = A{2};
c = A{3};
x = A{4};
y = A{5};
这里x,y是距离,如果我应用xlim和ylim,我想限制文件中相应的a,e,c。该文件有大约一百万个数据点

我将进一步绘制x,y和z(由a,e,c计算),作为散射和色条 我用于整个数据点的绘图代码是

lg=log10(g2);
scatter(x(1:end-1), y(1:end-1),5, lg);
colorbar('eastoutside');
caxis([14 max(lg)]);
xlabel(' X-axis (microns)');
ylabel('Y-axis (microns)');
lg由前面所示的a、e、c确定。所以我要做的就是在x,y的一部分和相应的lg之间画一个图


请帮忙

是,您可以使用
set
或调用
xlim
ylim
zlim
直接在
轴上指定限制


这可能太明显了,无法解决您的问题,但在这方面:

scatter(x(1:end-1), y(1:end-1),5, lg);
如果
lg
的大小与
x
y
相同,则显然这是错误的,您需要执行以下操作:

scatter(x(1:end-1), y(1:end-1),5, lg(1:end-1));

如果这不能解决您的问题,那么正如我在评论中所说,您必须提供完整的代码,我们可以运行这些代码来重现问题,包括
x
y
lg
向量的样本数据。

如果我理解正确,
xlim
ylim
将完全满足您的要求。所以我一定不明白这个问题!您是否尝试过使用
xlim
ylim
但失败了?请注意,您不必使用整个百万点数据集,只需创建一个较小的数据集来测试绘图代码即可。@DanBecker Yup xlim和ylim可以限制它们,但相应的z呢?如何将z限制在选定的x点和y点。能否发布绘图代码,并解释您遇到的确切问题?包括一组(非常小的)数据,以便我们都能重现问题。@DanBecker你能给我一些指导吗?你能不能也包括向量
x
y
lg
的示例值,以便我们重现错误?我曾尝试过使用它,但我得到了以下错误???使用==>79摄氏度的散射时出错必须是单色、与X长度相同的向量或M-X-3矩阵。可能是因为从a,e,c导出的z不能被限制为x和ycan@RohanChakrabarty,我不确定该错误是否与设置限制有关。发布一个新的问题,我会帮你。虽然这不是一个简单的答案,但你以前的答案现在不知怎么起作用了…谢谢
scatter(x(1:end-1), y(1:end-1),5, lg);
scatter(x(1:end-1), y(1:end-1),5, lg(1:end-1));