How can I specify axis spacing?
465 views (last 30 days)
Show older comments
I have X axis data from 15 to 30. By default it has spacing of 5, like 15,20,25,30. I want to specify spacing of 2, like 15,17,19 and so on. How can I do that? Can I use Xtick and y tick for it ? Thanks.
0 Comments
Accepted Answer
Jan
on 23 Feb 2017
AxesH = axes('Xlim', [15, 30], 'XTick', 15:2:30, 'NextPlot', 'add');
plot(15:30, rand(1, 16));
2 Comments
Stelios Fanourakis
on 13 May 2019
Hi. How can someone estimate the average of y values for every interval of the x axis as you state it?
More Answers (3)
Image Analyst
on 23 Feb 2017
If you have R2016b you can use the new xticks function:
xticks(15:2:30);
yticks(0:5:100); % Whatever....
Or with versions R2014b - R2016a:
ax=gca
ax.XTick = 15:2:30;
ax.YTick = 0:5:100;
3 Comments
Kamil Haziq
on 22 Mar 2018
How to do the same thing for time variables? For example from 00:00:00 to 01:00:00 . I want it to be in 15 minute intervals. 00:15:00 00:30:00 and so on.
A N
on 19 May 2018
I've got other question. I've got chart of bending moments of the beam. Between x=0 and x=0.6 the moments are described by the parabolic function. But in the chart it seems like a linear function. How can I specify (make smaller) distance betweeen YTicks or change units on Y-Axis to make clear that is quadratic function of bending moments? %set(gca,'ytick',[-0.27:0.05:0.02]) or something like that doesn't help.
6 Comments
pulkit velani
on 29 Jan 2022
@Ibrahim Elayan: Issue is of not plotting but of computaion. Compute X and Y values at closer interval.
e.g. If X = 1:10 and you have Y = X^2 the plot will look linear. Instead try X =1:0.1:10 and plot it you will find more accurate curve compare to earlier.
I hope this will help you.
Image Analyst
on 29 Jan 2022
@Ibrahim Elayan, try this:
period = 0.1
t = linspace(0, 0.675, 1008);
% Prepare amplitude. Goes from 2.5 to 1 during the first period
% then is 1 after that.
amplitude = ones(1, length(t)); % Initize
p1 = round(length(t)/6);
amplitude(1:p1) = linspace(2.5, 1, p1);
% Make signal.
y = amplitude .* sin(2 * pi * t / period);
% Plot signal
plot(t, y, 'b-', 'LineWidth', 2);
grid on;
xlabel('t');
ylabel('y');
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/877975/image.png)
See Also
Categories
Find more on Axis Labels 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!