Plot axis limits

3 ビュー (過去 30 日間)
Steve D
Steve D 2011 年 11 月 10 日
I am wasting my life trying to get the axes to go from a to b (ONLY!).
For example, the data file goes from 290 to 420 (variable) in steps of .02. I plot all rows and one column. There are 6500 rows. But Matlab insists on making the axes go from 0 to 7000 leaving whitespace at the end. If I add a line command within the x axis range, sometimes it creates two lines instead of one. Why is plotting so flakey?

回答 (2 件)

Honglei Chen
Honglei Chen 2011 年 11 月 10 日
You can give following command a try
axis tight
If you want more control, you can use axis command to control the limits
doc axis
HTH
  1 件のコメント
Steve D
Steve D 2011 年 11 月 10 日
Doesn't work, tried it.

サインインしてコメントする。


Jonathan
Jonathan 2011 年 11 月 10 日
You can set the axis limits using ylim([290 420]) or xlim([290 420]).
  3 件のコメント
Jonathan
Jonathan 2011 年 11 月 10 日
Please post your original code.
Steve D
Steve D 2011 年 11 月 11 日
Here is a sample section:
% Read Parmeters:
fid = fopen(temp, 'r'); % fn = function parameter
frewind(fid);
for i=1:5 trash=fgetl(fid); end; % skip 1st 5 lines
params = cell2mat( textscan(fid, '%f',19) ); % read line 6
stimre = params(5); % grab the re stim start time parameter
stimredur = params(6); % and the duration
strest = num2str(params(5)); % convert to strings for labeling plots
stimcx = params(12); % grab the cx stim start time parameter
stimcxdur = params(13); % and the duration
stcxst = num2str(params(12)); % convert to strings for labeling plots
cxno = fscanf(fid, '%d',1); % read number of each cell to plot for each pop
cxnost = num2str(cxno); % and convert to a string for plot labels
inno = fscanf(fid, '%d',1);
innost = num2str(inno);
tcno = fscanf(fid, '%d',1);
tcnost = num2str(tcno);
reno = fscanf(fid, '%d',1);
renost = num2str(reno);
startplot1 = fscanf(fid, '%d',1); % read start and end time for each plot
endplot1 = fscanf(fid, '%d',1);
endplot1 = endplot1; % decrement to ensure plots do not have white space
st1 = num2str(startplot1); % convert to string for plot labels
et1 = num2str(endplot1);
startplot2 = fscanf(fid, '%d',1);
endplot2 = fscanf(fid, '%d',1);
endplot2 = endplot2;
st2 = num2str(startplot2);
et2 = num2str(endplot2);
startplot3 = fscanf(fid, '%d',1);
endplot3 = fscanf(fid, '%d',1);
endplot3 = endplot3;
st3 = num2str(startplot3);
et3 = num2str(endplot3);
startplot4 = fscanf(fid, '%d',1);
endplot4 = fscanf(fid, '%d\n',1);
endplot4 = endplot4;
st4 = num2str(startplot4);
et4 = num2str(endplot4);
msb = 5; % millisenconds per bin
mst = num2str(msb); % string version for bin plot labels
.
.
.
.
.
.
.
if endplot4 > 0
figure(9);
hold on;
set(gcf,'Name', paramline);
subplot(4,1,1);
plot(time_zcx(1:(end-wsp*50),cxno));
title(['CX Cell ', cxnost ' zoom 50x: ' paramline], 'Color', [.5 0 0], 'FontWeight', 'bold');
xlabel(['time in 20 us increments from ' st4 'ms to ' et4 'ms stimulating CX at ' stcxst 'ms and/or RE at ' strest 'ms']);
ylabel('mv');
if (stimcx >= startplot4) && (stimcx <= endplot4)
line([(stimcx-startplot4)*50 (stimcx-startplot4)*50], get(gca, 'YLim'), 'Color', 'g');
end
if (stimre >= startplot4) && (stimre <= endplot4)
line([(stimre-startplot4)*50 (stimre-startplot4)*50], get(gca, 'YLim'), 'Color', 'r');
end
subplot(4,1,2);
plot(time_zin(1:(end-wsp*50),inno)');
title(['IN Cell ', innost ' zoom 50x: ' paramline], 'Color', [.5 0 0], 'FontWeight', 'bold');
xlabel(['time in 20 us increments from ' st4 'ms to ' et4 'ms stimulating CX at ' stcxst 'ms and/or RE at ' strest 'ms']);
ylabel('mv');
if (stimcx >= startplot4) && (stimcx <= endplot4)
line([(stimcx-startplot4)*50 (stimcx-startplot4)*50], get(gca, 'YLim'), 'Color', 'g');
end
if (stimre >= startplot4) && (stimre <= endplot4)
line([(stimre-startplot4)*50 (stimre-startplot4)*50], get(gca, 'YLim'), 'Color', 'r');
end
subplot(4,1,3);
plot(time_ztc(1:(end-wsp*50),tcno)');
title(['TC Cell ', tcnost ' zoom 50x: ' paramline], 'Color', [.5 0 0], 'FontWeight', 'bold');
xlabel(['time in 20 us increments from ' st4 'ms to ' et4 'ms stimulating CX at ' stcxst 'ms and/or RE at ' strest 'ms']);
ylabel('mv');
if (stimcx >= startplot4) && (stimcx <= endplot4)
line([(stimcx-startplot4)*50 (stimcx-startplot4)*50], get(gca, 'YLim'), 'Color', 'g');
end
if (stimre >= startplot4) && (stimre <= endplot4)
line([(stimre-startplot4)*50 (stimre-startplot4)*50], get(gca, 'YLim'), 'Color', 'r');
end
subplot(4,1,4);
plot(time_zre(1:(end-wsp*50),reno)');
title(['RE Cell ', renost ' zoom 50x: ' paramline], 'Color', [.5 0 0], 'FontWeight', 'bold');
xlabel(['time in 20 us increments from ' st4 'ms to ' et4 'ms stimulating CX at ' stcxst 'ms and/or RE at ' strest 'ms']);
ylabel('mv');
if (stimcx >= startplot4) && (stimcx <= endplot4)
line([(stimcx-startplot4)*50 (stimcx-startplot4)*50], get(gca, 'YLim'), 'Color', 'g');
end
if (stimre >= startplot4) && (stimre <= endplot4)
line([(stimre-startplot4)*50 (stimre-startplot4)*50], get(gca, 'YLim'), 'Color', 'r');
end
hold off;
saveas(gcf,[fprefix '_sc_TR4.fig']);
saveas(gcf,[fprefix '_sc_TR4.png'], 'png');
saveas(gcf,[fprefix '_sc_TR4.eps'], 'eps');
end

サインインしてコメントする。

カテゴリ

Help Center および File ExchangePolar Plots についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by