How to specify date ticks on plot
Ältere Kommentare anzeigen
Hi,
I'm trying to plot the attached csv file, but i am having problems creating a tidy x axis labels. Ideally, I would like a label to read: 2000, 2004, 2008, 2012, 2016, 2020, starting on the earliest date for each year. However, despite trying to set my xtick using a string converted through datenum, I can't figure out how to achieve this result. My code, with the neatest labels I can manage, is attached, but this doesn't produce my desired labels. Any suggestions?
%plots the price of copper from https://www.macrotrends.net/1476/copper-prices-historical-chart-data
close all;
fid = fopen('copper-prices-historical-chart-data.csv');
if fid>0
% note how we skip the header lines and use the delimiter
data = textscan(fid,'%s %f','Delimiter',',','HeaderLines',16);
% close the file
fclose(fid);
startlim = datenum('07-Jan-2000');
endlim = datenum('31-Mar-2020');
date = data{1,1};
dn = datenum(date, 'yyyy-mm-dd');
price = data{1,2};
dateplot = dn(10141:end);
priceplot = price(10141:end);
plot(dateplot,priceplot);
xlim([startlim, endlim]);
xticks=get(gca,'xtick');
xtickangle(45);
set(gca,'xticklabel',cellstr(datestr(xticks))')
end
Thanks in advance.
Akzeptierte Antwort
Weitere Antworten (1)
Adam Danz
am 9 Mär. 2020
1 Stimme
4 Kommentare
Adam Danz
am 9 Mär. 2020
If you provide an example of the date variable I can be more specific.
Ravi
am 8 Dez. 2021
I have data which is time dependent but time data is not avaialble. I needed to plot this data with time so I created time loop with size matching up with the data size. I am able to get the plot but now I need to put in my desired time ticks on time axis. How can I do this ?
Adam Danz
am 8 Dez. 2021
Is your time vector in datetime format? If not, convert it to datetime format and use that vector for your x-variable when plotting so the ticks are in datetime format.
Kategorien
Mehr zu Dates and Time finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
