ThingSpeak의 누적 그래프
10825 단어 Thingspeakmatlab
이전에 만든 것은 0도 이하를 지원하지 않았습니다.
% Last week max and min temputure
readChannelID = ;
readAPIKey = "";
last = 7 * 4;
day = datetime('now') - last;
disp(day);
% startdaystr = "Sep 22, 2019 00:00:00";
% enddaystr = "Sep 23, 2019 00:00:00";
for c = 1:last
startdaystr = datestr(day,'mmm dd, yyyy 00:00:00');
enddaystr = datestr(day + 1,'mmm dd, yyyy 00:00:00');
[a,b] = thingSpeakRead(readChannelID, 'ReadKey', readAPIKey, 'Fields',2,'DateRange', [datetime(startdaystr),datetime(enddaystr)]);
a = filloutliers(a,'linear');
[m, n] = max(a);
[x, y] = min(a);
t(c) = day;
if x > 0
vmax(c) = m - x
vmin(c) = x
elseif m > 0
vmax(c) = m
vmin(c) = x
else
vmax(c) = x - m
vmin(c) = m
end
day = day + 1
end
C = vertcat(vmin, vmax);
H = bar(t, C, 'stacked');
ba = H(1);
bb = H(2);
disp(ba);
ba.FaceColor = 'flat';
bb.FaceColor = 'flat';
set(H(1),{'EdgeColor'},{[1 1 1]});
set(H(2),{'EdgeColor'},{[1 1 1]});
for c = 1:last
if vmin(c) > 0
ba.CData(c,:) = [1 1 1];
bb.CData(c,:) = [1 0 1];
elseif vmax(c) < 0
ba.CData(c,:) = [1 1 1];
bb.CData(c,:) = [1 0 1];
else
ba.CData(c,:) = [1 0 1];
bb.CData(c,:) = [1 0 1];
end
end
테스트 케이스: 최고 기온 10도 최저 기온 2도
테스트 케이스: 최고 기온 2도 최저 기온-10도
테스트 케이스: 최고 기온-2도 최저 기온-10도
계절 밖의 눈이 내린 날의 그래프가 이상해졌습니다.
조사해 보았는데 filloutliers(a,'linear'); 가 에러치로서 데이터를 생략한 것이 원인이었습니다. 계절 밖의 눈에 MATLAB도 헤매어 버린 것 같습니다.
Reference
이 문제에 관하여(ThingSpeak의 누적 그래프), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yamori813/items/798c3c31691cd7f3b80e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)