2 views (last 30 days)
Show older comments
JS on 23 May 2020
Commented: JS on 24 May 2020
Open in MATLAB Online
Hi,
So I'm trying to either:
- Prevent the last xlabel entry (12) from getting cut-off without increasing the range set using xlim as shown in the first image below.
- If were to adjust xlim in order to include the last xlabel entry, is there a way to either stretch out my plot to fill in the white space where my plot ends and still keep the last xlabel entry (12) as shown in the second image below.
This is my current script for generating the plots. The only thing I change to generate the plots shown in the images below is xlim:
%% Making Plot %%
clear
clc
close all
filename='fm.xlsx';
[A]=importdata(filename);
figure
hold on
for i = 1:5
plot(A(:,i),'LineWidth',1.5)
end
xlim([0 9000]) %the line I change either using xlim([0 9000]) or xlim([0 8640]), I have a total 8640 data points
ylim([0 1.0])
% axis([0 8640 0 1])
% axis tight
axis fill
box off;
xlims = get(gca,'XLim');
ylims = get(gca,'YLim');
line(xlims,[ylims(2) ylims(2)],'Color','black','LineWidth',1.5);
line([xlims(2) xlims(2)],ylims,'Color','black','LineWidth',1.5);
set(gca,'XMinorTick','on')
set(gca,'YMinorTick','on')
set(gca,'linewidth',1.5)
set(gca,'XTickLabel',{'';'4';'';'8';'';'9';'';'10';'';'12'})
size(get(gca,'XTick'))
Thanks!
6 Comments Show 4 older commentsHide 4 older comments
Show 4 older commentsHide 4 older comments
Tommy on 24 May 2020
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/531583-prevent-last-xlabel-entry-getting-cut-off-after-adjusting-xlim#comment_859823
Your data ends around x = 11.6, so I don't see how you could display 12 on the x axis while having your data extend all the way to the end of the axis. What are you hoping it will look like?
Or maybe you want to plot your data over a range of x values which ends at 12, rather than over the indices as you are currently doing?
JS on 24 May 2020
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/531583-prevent-last-xlabel-entry-getting-cut-off-after-adjusting-xlim#comment_859863
Yea, I'm trying to have my plot look like the first image while having my xlabel entry, 12, remain on the x-axis. I don't have any ideas right now or if it's even possible.
Tommy on 24 May 2020
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/531583-prevent-last-xlabel-entry-getting-cut-off-after-adjusting-xlim#comment_859968
Edited: Tommy on 24 May 2020
Open in MATLAB Online
Ok, so it sounds like you want the final data values to be plotted at x = 12. Assuming the first data values should still be plotted at x = 0, does this work?
X = linspace(0, 12, size(A,1));
for i = 1:5
plot(X, A(:,i),'LineWidth',1.5)
end
No need to set the x limits then.
Plotting over the desired x range is simpler than plotting over indices and then updating the tick labels to display the desired x range. After all, what if the resolution of your signal increased and you were left with 10 times as many points? You are hard-coding in xlim([0 8640]), but if your signal had 86400 points, then you would crop out all but the first tenth of your data.
JS on 24 May 2020
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/531583-prevent-last-xlabel-entry-getting-cut-off-after-adjusting-xlim#comment_859988
Unfortunately it didn't work. Here's what I got when I tried it:
So with your input, my last datapoint was plotted at x = 12. However, in the image above is exactly what I'm trying to plot. The reason for trying create one like the above image, is that the data I'm plotting is a convergence plot for figure of merit as a function of rotor revolutions (revs), in which x = 12 is the 12th rotor revolution (works out to be 8,640 time steps in my simulation) in my convergence plot.
Tommy on 24 May 2020
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/531583-prevent-last-xlabel-entry-getting-cut-off-after-adjusting-xlim#comment_859998
Oh I see, I missed that the axis wasn't scaled linearly. You can still set the tick labels afterwards.
JS on 24 May 2020
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/531583-prevent-last-xlabel-entry-getting-cut-off-after-adjusting-xlim#comment_860918
Thanks Tommy! Much appreciated. Got the end result I was looking for:
Sign in to comment.
Sign in to answer this question.
Answers (0)
Sign in to answer this question.
See Also
Categories
MATLABGraphics2-D and 3-D PlotsAnimation
Find more on Animation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)
Contact your local office