How can I specify axis spacing?
    269 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
  P 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');

See Also
Categories
				Find more on Title 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!









