how to plot double against datetime
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ancalagon8
el 17 de Abr. de 2021
Comentada: Ancalagon8
el 17 de Abr. de 2021
I am trying to plot a .csv file.
filename='data.csv';
data = readtable(filename); % read csv file
time = data{:,1}+data{:,2};
X = data{:,3};
Y = data{:,4};
Z = data{:,5};
plot(X) % OK
plot(time,X) % NOT OK
When I plot X i get the figure that i want (see 1), but when I plot X against time, I get figure 2. Any ideas why this is happening and how to plot X against time and have the figure look like fig.1 with time in x axis?
0 comentarios
Respuesta aceptada
Clayton Gotberg
el 17 de Abr. de 2021
Editada: Clayton Gotberg
el 17 de Abr. de 2021
In the attached CSV, the time data is the same for every 100 columns or so. Because of this, MATLAB is plotting all of the events that happened at that time at the same position on the x-axis. You will not be able to use the time information in the csv for plotting because the time is only measured to the second but you are taking measurements hundreds of times per second.
If you want to plot vs. time, you will need to create a new time vector.
time_new = linspace(start_time,end_time,size(X,1));
%start_time is the earliest time in the sequence
will create equally spaced points in time to plot X against. Note that if you started or stopped measuring in the middle of a second, the points will not match up with the true time exactly if you start or stop from the recorded value:
true_time = [0.5 0.75 1 1.25 1.5 1.75 2 2.25];
time_new = [0 0.2857 0.5714 0.8571 1.1429 1.4286 1.7143 2];
If the data samples you took are not equally spaced in time, you will need to re-measure your data with a more accurate clock.
6 comentarios
Walter Roberson
el 17 de Abr. de 2021
start_time = duration(14,44,47);
end_time = duration(14,44,59);
time_new = linspace(start_time, end_time, size(X,1));
Más respuestas (0)
Ver también
Categorías
Más información sobre Axis Labels en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!