Possible Duplicate:
is it possible to select a particular region in a scatterplot
is it possible to reduce the datapoints from the input text file, so that those dont come in my calculation. I am using following to read the data
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};
here x,y are the distances and if I apply xlim and ylim, I want to limit the corresponding a,e,c from the file also. the file has around million data points.
And I will be further plotting the x,y and z(which is calculated from a,e,c) as a scatter and colorbar the plotting code I am using for the entire data points is
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)');
the lg is determined from the a,e,c shown earlier. so all I want to do is do a plot between a selected portion of x,y and the corresponding lg.
please help!!
Yes you can specify the limits directly on the axes
using set
or by calling the xlim
, ylim
, and zlim
functions
plot(rand(1,100));
set(gca,'XLim', [10 20] ); % set the xlims to 10,20
or
plot(rand(1,100));
xlim([10 20]); % set the xlims to 10,20
Well, this is probably too obvious to be the solution to your problem, but in this line:
scatter(x(1:end-1), y(1:end-1),5, lg);
If lg
is the same size as x
and y
, then clearly this is wrong and you need to do:
scatter(x(1:end-1), y(1:end-1),5, lg(1:end-1));
If this does not solve your problem, then as I stated in my comment you must provide complete code that we can run to reproduce the problem, including sample data for the x
, y
, and lg
vectors.
来源:https://stackoverflow.com/questions/13494693/limit-the-axes-for-plotting-in-matlab