Сложность в построении графиков из данных веб-чтения с URL - PullRequest
0 голосов
/ 02 мая 2020

Работа, над которой я работаю, включает в себя веб-чтение данных прогноза погоды с URL-адреса и построение его в виде графиков. Я строю графики давления, температуры, влажности и скорости ветра. Графики давления и температуры строятся просто отлично, однако влажность и скорость ветра не отображаются вообще. Я не уверен, есть ли проблема с моим для l oop или какая-то другая проблема. Это мой код:

%% Project API

clear;
clc;
api = 'https://api.openweathermap.org/data/2.5/onecall/timemachine?lat={lat}&lon={lon}&dt={time}&appid={b5904b7602f68fcca1d8886d36b36c4e}';

%api = 'api.openweathermap.org/data/2.5/forecast?q=London&appid=b5904b7602f68fcca1d8886d36b36c4e';
url = 'http://api.openweathermap.org/data/2.5/forecast?q=London&APPID=b5904b7602f68fcca1d8886d36b36c4e';
London_Data = webread(url);
London_Data.list{1, 1}.main.pressure;
London_Data.list{1,1}.main.humidity;
London_Data.list{1, 1}.dt_txt;




%day = [Data.list{1, 1}.dt_txt:Data.list{40, 1}.dt_txt];
%pressure = [Data.list{1, 1}.main.pressure:Data.list{3, 1}.main.pressure];


%Pressure
for i = 1:40
  %i = i+1;
  figure(1)
    plot([i+1 , London_Data.list{1, 1}.main.pressure : London_Data.list{40, 1}.main.pressure]);
    title('Pressure Forecast In London')
    xlabel('Days')
    ylabel('Pressure[hPa]')



end

%Temperature
for i=0:1:40  
     figure(2)
 plot([i+1 , London_Data.list{1, 1}.main.temp]);
 i = i+1;
     title('Temperature Forecast In London')
    xlabel('Days')
    ylabel('Temperature[C]')
end

%Humidty
for i = 0;1:40
  figure(3)
    plot([i+1 , London_Data.list{1, 1}.main.humidity : London_Data.list{40, 1}.main.humidity]);
    %i = i + 1
    title('Humidity Forecast In London')
    xlabel('Days')
    ylabel('Humidity[Units]')
end

%Wind Speed
for i = 1:40
  %i = i+1;
  figure(4)
    plot([i+1 ,London_Data.list{1, 1}.wind.speed : London_Data.list{40, 1}.wind.speed]);
    title('Wind Speed Forecast In London')
    xlabel('Days')
    ylabel('Wind Speed[m/s]')


end

1 Ответ

0 голосов
/ 02 мая 2020

Ваш код имел несколько проблем, пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы о том, как я изменил его.

%% Project API

    clear;
clc;
api = 'https://api.openweathermap.org/data/2.5/onecall/timemachine?lat={lat}&lon={lon}&dt={time}&appid={b5904b7602f68fcca1d8886d36b36c4e}';

%api = 'api.openweathermap.org/data/2.5/forecast?q=London&appid=b5904b7602f68fcca1d8886d36b36c4e';
url = 'http://api.openweathermap.org/data/2.5/forecast?q=London&APPID=b5904b7602f68fcca1d8886d36b36c4e';
London_Data = webread(url);

len = size(London_Data.list,1);

%Pre-allocates array size (can be skipped)
P = zeros(1,len);
T = zeros(1,len);
Hum = zeros(1,len);
V = zeros(1,len);
%Puts the data in arrays
for i = 1:len
    P(i) = [London_Data.list{i, 1}.main.pressure];
    T(i) = [London_Data.list{i, 1}.main.temp];
    Hum(i) = [London_Data.list{i, 1}.main.humidity];
    V(i) = [London_Data.list{i, 1}.wind.speed];
end

%Pressure

figure(1)
plot(1:len, P)
title('Pressure Forecast In London')
xlabel('Days')
ylabel('Pressure[hPa]')

%Temperature

figure(2)
plot(1:len, T)
title('Temperature Forecast In London')
xlabel('Days')
ylabel('Temperature[C]')

%Humidty

figure(3)
plot(1:len, Hum)
title('Humidity Forecast In London')
xlabel('Days')
ylabel('Humidity[Units]')

%Wind Speed

figure(4)
plot(1:len, V)
title('Wind Speed Forecast In London')
xlabel('Days')
ylabel('Wind Speed[m/s]')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...