Effacer les filtres
Effacer les filtres

Plot serial date of excel into MATLAB

1 vue (au cours des 30 derniers jours)
Md Mizanur Raihan
Md Mizanur Raihan le 6 Oct 2020
Hi, WOuld you please help me? 1st column represents serial date like year 2001 month 12 and date 16 and second coulm represents height. I would like to run and plot my data in following format:
data_set=xlsread('h100.xlsx');
figure;
plot(data_set(:,1),data_set(:,2));
grid on;
xlim([datenum('1 oct 2010') datenum('1 dec 2010')])
datetick('keeplimits')
xlabel('Time Series');
ylabel('Tidal heights');
title('Original Data Set (Richard Bay, SA)');
.
  2 commentaires
Sudhakar Shinde
Sudhakar Shinde le 6 Oct 2020
Modifié(e) : Sudhakar Shinde le 6 Oct 2020
What is the error you observed?
You can use date from excel sheet column 1.
x = datetime(data_set(:,1),'ConvertFrom','yyyymmdd');
plot(x,data_set(:,2));
Md Mizanur Raihan
Md Mizanur Raihan le 6 Oct 2020
It is showing as output

Connectez-vous pour commenter.

Réponses (2)

Star Strider
Star Strider le 6 Oct 2020
The first column is numeric representation of yyyymmdd so there are likely several ways to create a datetime array from it.
Try this:
data_set(:,1) = [20011216; 20011217];
ymdc = compose('%d',data_set(:,1));
ymd = datetime(ymdc, 'InputFormat','yyyyMMdd')
You can put those in one line if you want:
ymd = datetime(compose('%d',data_set(:,1)), 'InputFormat','yyyyMMdd')
.

Seth Furman
Seth Furman le 22 Oct 2020
Do also prefer using readtable and readtimetable as opposed to xlsread.

Community Treasure Hunt

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

Start Hunting!

Translated by