How to Display certain time period of data
25 views (last 30 days)
Show older comments
HI How can I disply certain data in thingspeak graph rather than display all data with time.
for example If the data start receiving from 10:00 to 11:00 AM , I need to see the data from 10:10AM-10:15AM (how can I make zoom to see only this part and disply it in the graph)?
Regards;
khalid
0 Comments
Answers (2)
Kiran Felix Robert
on 3 Feb 2021
Hi Khalid,
You can use following function syntax to obtain the timestamp along with the data. Refer the Documentation of thinkSpeakRead for examples.
[data,timestamps] = thingSpeakRead(__)
You can use logical comparisons on the timestamp data to plot the data from specific time intervals.
The following is an example.
[data,timestamps,channelInfo] = thingSpeakRead(12397,'Fields',[1,4],'NumMinutes',5);
t = datestr(timestamps);
HH = str2num(t(:,13:14)); % Hour
MM = str2num(t(:,16:17)); % Minutes
x = (HH == 10 & MM > 00 & MM <= 15); % Range of data to be plotted
% Plots data between 10:00 AM and 10:15 AM
plot(timestamps(x),data(x))
0 Comments
Niall
on 7 May 2021
I've a cheekier solution to this than Kiran has posted. Simply use the datetime function as limits for the plot. I'm using the same assumption that you're using a matlab vizualisation.
[vibration, time] = thingSpeakRead(readChannelID, 'Field', fieldID1, 'NumPoints', 1000, 'ReadKey', readAPIKey);
% t = datetime(Y,M,D,H,MI,S)
tmin = datetime(2021,5,6,13,48,0);
tmax = datetime(2021,5,6,13,57,0);
plot(time, vibration);
xlim([tmin tmax])
0 Comments
See Also
Categories
Find more on Visualize Data 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!