import requests
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import datetime
Replace with your OpenWeatherMap API key
API_KEY = "your_api_key_here"
CITY = "Hyderabad"
URL = f"http://api.openweathermap.org/data/2.5/forecast?q={CITY}&appid={API_KEY}&units=metric"
response = requests.get(URL)
data = response.json()
Extract required fields
records = []
for forecast in data['list'][:15]: # first 15 forecasts
record = {
"time": datetime.datetime.fromtimestamp(forecast['dt']),
"temperature": forecast['main']['temp'],
"humidity": forecast['main']['humidity'],
"pressure": forecast['main']['pressure']
}
records.append(record)
df = pd.DataFrame(records)
Set seaborn style
sns.set(style="darkgrid")
Create dashboard
plt.figure(figsize=(12, 8))
Temperature Plot
plt.subplot(3, 1, 1)
sns.lineplot(x="time", y="temperature", data=df, marker="o", color="red")
plt.title(f"Temperature Forecast for {CITY}")
plt.ylabel("°C")
Humidity Plot
plt.subplot(3, 1, 2)
sns.lineplot(x="time", y="humidity", data=df, marker="o", color="blue")
plt.title(f"Humidity Forecast for {CITY}")
plt.ylabel("%")
Pressure Plot
plt.subplot(3, 1, 3)
sns.lineplot(x="time", y="pressure", data=df, marker="o", color="green")
plt.title(f"Pressure Forecast for {CITY}")
plt.ylabel("hPa")
plt.tight_layout()
plt.show()
import requests
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import datetime
Replace with your OpenWeatherMap API key
API_KEY = "your_api_key_here"
CITY = "Hyderabad"
URL = f"http://api.openweathermap.org/data/2.5/forecast?q={CITY}&appid={API_KEY}&units=metric"
response = requests.get(URL)
data = response.json()
Extract required fields
records = []
for forecast in data['list'][:15]: # first 15 forecasts
record = {
"time": datetime.datetime.fromtimestamp(forecast['dt']),
"temperature": forecast['main']['temp'],
"humidity": forecast['main']['humidity'],
"pressure": forecast['main']['pressure']
}
records.append(record)
df = pd.DataFrame(records)
Set seaborn style
sns.set(style="darkgrid")
Create dashboard
plt.figure(figsize=(12, 8))
Temperature Plot
plt.subplot(3, 1, 1)
sns.lineplot(x="time", y="temperature", data=df, marker="o", color="red")
plt.title(f"Temperature Forecast for {CITY}")
plt.ylabel("°C")
Humidity Plot
plt.subplot(3, 1, 2)
sns.lineplot(x="time", y="humidity", data=df, marker="o", color="blue")
plt.title(f"Humidity Forecast for {CITY}")
plt.ylabel("%")
Pressure Plot
plt.subplot(3, 1, 3)
sns.lineplot(x="time", y="pressure", data=df, marker="o", color="green")
plt.title(f"Pressure Forecast for {CITY}")
plt.ylabel("hPa")
plt.tight_layout()
plt.show()