限制在Matlab中绘制的轴

时间:2012-11-21 13:47:42

标签: matlab text scatter

  

可能重复:
  is it possible to select a particular region in a scatterplot

是否可以减少输入文本文件中的数据点,以便那些不会出现在我的计算中。我正在使用以下内容来阅读数据

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之间做一个绘图。

请帮助!!

2 个答案:

答案 0 :(得分:0)

是的,您可以使用axes或致电setxlimylim functions直接在zlim上指定限制

plot(rand(1,100));
set(gca,'XLim', [10 20] ); % set the xlims to 10,20

plot(rand(1,100));
xlim([10 20]); % set the xlims to 10,20

答案 1 :(得分:0)

嗯,这可能太明显了,无法解决您的问题,但在这一行:

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

如果lgxy的尺寸相同,那么显然这是错误的,您需要这样做:

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

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