Labelling of x axis

2 views (last 30 days)
Telema Harry
Telema Harry on 31 May 2021
Commented: Telema Harry on 9 Jun 2021
Hello Programmers,
I have an hourly data and I used a step size of 0.1 in my simulation.
I used 12 hours worth of data in my simulation.
I will like the x-axis of my graph to be in hours stead of the number of points.
please how can I do that?
  2 Comments
Mathieu NOE
Mathieu NOE on 31 May 2021
hello
there's something missing in your question : step size of 0.1 : unit ? second ?
if you have the amount of samples and the sampling rate , it's fairly strightforward to compute the xaxis values in seconds / minutes or hours :
assuming a step size of 0.1 second :
dt = 0.1;
samples = length(data);
x_axis_hours = (0:samples-1)*dt/3600;
plot(x_axis_hours,data);
Telema Harry
Telema Harry on 9 Jun 2021
Edited: Telema Harry on 9 Jun 2021
Thank you for the feedback.

Sign in to comment.

Accepted Answer

Constantino Carlos Reyes-Aldasoro
There are 2 ways to solve this:
First is to plot in the actual hours instead of the points of the matrix that is holding the data, so, say your values are stored every second, instead of plotting
plot(x,y)
you should plot
plot(x/3600,y)
and that would adjust the values of the x-axis.
The second way is to manipulate the values that are displayed on the x-axis, these are called the ticks and tick labels, for example:
>> plot(1:20,sin(1:20))
>> h1=gca; %you are grabbing the handles of the axis
>> h1.XTick
ans =
Columns 1 through 7
0 2 4 6 8 10 12
Columns 8 through 11
14 16 18 20
>> h1.XTickLabel
ans =
11×1 cell array
{'0' }
{'2' }
{'4' }
{'6' }
{'8' }
{'10'}
{'12'}
{'14'}
{'16'}
{'18'}
{'20'}
>>
So you can change the values of XTickLabel. I would suggest to try the first method and see if that works.
Hope this solves your problem.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!