Labelling of x axis
1 次查看(过去 30 天)
显示 更早的评论
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?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/637460/image.png)
2 个评论
Mathieu NOE
2021-5-31
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);
采纳的回答
Constantino Carlos Reyes-Aldasoro
2021-5-31
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.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!