how to manipulate ytick?
2 views (last 30 days)
Show older comments
SWARNENDU PAL
on 8 Dec 2020
Commented: SWARNENDU PAL
on 9 Dec 2020
I have plotted this graph with the following code :
plot(0:23,ozone_values(:,1),0:23,ozone_values(:,2),0:23,ozone_values(:,3),0:23,ozone_values(:,4),0:23,ozone_values(:,5),0:23,ozone_values(:,6),'LineWidth',1.3)
xlabel('Hour')
ylabel('Concentration of ozone (in ug/cm)')
title('Diurnal variation of Ozone')
legend('Jan','Feb','Mar','Apr','May','Jun')
set(gca, 'Xtick',(0:6:23))
xlim([0 23])
So my problem is that I want to change the xtick labels, given is in utc and i want to covert it in ist. For data sets i have done that part but i could not manipulate the xtick values. Those ticks will be 5:30,11:30,17:30 and 23:30 instead of 0,6,12 and 18. How can i do this particular change?

0 Comments
Accepted Answer
Cris LaPierre
on 8 Dec 2020
First, let's clarify that you want to modify the xtick values, not ytick.
The best approach is to have your x values be datetimes or durations. They your xticks will be time values. You can then set the values using xtick and their appearance using xtickformat.
% Create x, y data
x = (duration(0,30,0) + hours(0:23))'; % durations - no date associated with it
y=rand(24,6);
plot(x,y,'LineWidth',1.3)
xlabel('Hour')
ylabel('Concentration of ozone (in ug/cm)')
title('Diurnal variation of Ozone')
legend('Jan','Feb','Mar','Apr','May','Jun')
% Format and place ticks as desired
xtickformat("hh:mm")
xticks(hours([5.5 11.5 17.5 23.5]))
5 Comments
Cris LaPierre
on 9 Dec 2020
Edited: Cris LaPierre
on 9 Dec 2020
Ok, sorry for my misunderstanding.
Yes, changing xlabels is one way, but in this situation, I think it is better to update the underlying data and use xticks.
% Create x, y data
xUTC = hours(0:23)'; % durations - no date associated with it
xIST = xUTC + hours(5.5);
y=rand(24,6);
plot(xIST,y,'LineWidth',1.3)
xlabel('Hour')
ylabel('Concentration of ozone (in ug/cm)')
title('Diurnal variation of Ozone')
legend('Jan','Feb','Mar','Apr','May','Jun')
% Format and place ticks as desired
xtickformat("hh:mm")
xticks(xIST(1:6:end))
More Answers (0)
See Also
Categories
Find more on Dates and Time 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!