How can I specify axis spacing?

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.

 Réponse acceptée

Jan
Jan le 23 Fév 2017

6 votes

AxesH = axes('Xlim', [15, 30], 'XTick', 15:2:30, 'NextPlot', 'add');
plot(15:30, rand(1, 16));

2 commentaires

kanyvt
kanyvt le 24 Fév 2017
Thanks, it helped.
Stelios Fanourakis
Stelios Fanourakis le 13 Mai 2019
Hi. How can someone estimate the average of y values for every interval of the x axis as you state it?

Connectez-vous pour commenter.

Plus de réponses (3)

Image Analyst
Image Analyst le 23 Fév 2017

12 votes

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 commentaires

kanyvt
kanyvt le 23 Fév 2017
Thanks but unfortunately mine is MATLAB 2014a
Kamil Haziq
Kamil Haziq le 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.
kanyvt
kanyvt le 25 Mar 2018
Modifié(e) : Image Analyst le 25 Mar 2018
Hey Kamil,
Can you send the pic/image of your graph? I will take a look and try to help.
Thanks,

Connectez-vous pour commenter.

Geoff Hayes
Geoff Hayes le 23 Fév 2017

2 votes

kanyvt - see specify axis tick values for details on how to set the ticks and labels.
A N
A N le 19 Mai 2018

0 votes

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 commentaires

Geoff Hayes
Geoff Hayes le 22 Mai 2018
AN - please post this as a comment to the above question or as a new question. Do not use the answer option to ask a new question...
Marcelo Andrés Acuña
Marcelo Andrés Acuña le 31 Oct 2019
I found this way:
xticks(8:2:20); % Spaces = 2
yticks(-0.5:0.1:0.5); %Spaces = 0.1
axis([8 20 -0.5 0.5]) %View axis
Ibrahim Elayan
Ibrahim Elayan le 13 Avr 2020
Modifié(e) : Image Analyst le 14 Avr 2020
Good day
How can i get this FORM of spacing on x axis and y axis in certain interval and other interval keep in normal spacing?
Geoff Hayes
Geoff Hayes le 14 Avr 2020
Ibrahim - what do you consider to be normal spacing?
P Velani
P Velani le 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.
@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');

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by