final commit
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# Load the flow data (Orniac & Figeac)
|
||||
flow_file_path = "débit_Orniac&Figeac.xlsx"
|
||||
flow_data = pd.read_excel(flow_file_path, parse_dates=["Date et heure"])
|
||||
|
||||
# Load the rainfall data
|
||||
rainfall_file_path = "Q_46_latest-2023-2025_RR-T-Vent.xlsx"
|
||||
rainfall_data = pd.read_excel(rainfall_file_path, parse_dates=["Date"])
|
||||
|
||||
# Resample rainfall data to hourly to match flow data
|
||||
rainfall_data.set_index("Date", inplace=True)
|
||||
|
||||
# Ensure the data overlaps in date ranges
|
||||
min_date = min(flow_data["Date et heure"].min(), rainfall_data["Date"].min())
|
||||
max_date = max(flow_data["Date et heure"].max(), rainfall_data["Date"].max())
|
||||
|
||||
flow_data = flow_data[(flow_data["Date et heure"] >= min_date) & (flow_data["Date et heure"] <= max_date)]
|
||||
rainfall_hourly = rainfall_data[(rainfall_data["Date"] >= min_date) & (rainfall_data["Date"] <= max_date)]
|
||||
|
||||
# Create the plot
|
||||
fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(12, 8), gridspec_kw={"height_ratios": [1, 2]}, sharex=True)
|
||||
|
||||
# Rainfall subplot
|
||||
ax1.bar(
|
||||
rainfall_hourly["Date"],
|
||||
rainfall_hourly["Rainfall"],
|
||||
color="dodgerblue",
|
||||
alpha=0.7,
|
||||
width=0.02,
|
||||
label="Rainfall (mm)"
|
||||
)
|
||||
ax1.set_ylabel("Rainfall (mm)", fontsize=12)
|
||||
ax1.set_ylim(10, 0) # Reverse y-axis for rainfall
|
||||
ax1.legend(fontsize=10)
|
||||
ax1.grid(True, linestyle="--", alpha=0.7)
|
||||
|
||||
# Flow subplot
|
||||
ax2.plot(
|
||||
flow_data["Date et heure"],
|
||||
flow_data["Valeur à Orniac (en m³/s)"],
|
||||
label="Orniac Flow (m³/s)",
|
||||
color="orange",
|
||||
linewidth=1.5
|
||||
)
|
||||
ax2.plot(
|
||||
flow_data["Date et heure"],
|
||||
flow_data["Valeur à Figeac (en m³/s)"],
|
||||
label="Figeac Flow (m³/s)",
|
||||
color="blue",
|
||||
linewidth=1.5
|
||||
)
|
||||
ax2.set_ylabel("Flow (m³/s)", fontsize=12)
|
||||
ax2.set_xlabel("Date and Time", fontsize=12)
|
||||
ax2.legend(fontsize=10)
|
||||
ax2.grid(True, linestyle="--", alpha=0.7)
|
||||
|
||||
# Finalize the layout
|
||||
fig.suptitle("Rainfall and Flow at Figeac and Orniac", fontsize=16)
|
||||
plt.xticks(rotation=45)
|
||||
plt.tight_layout(rect=[0, 0, 1, 0.95])
|
||||
|
||||
# Show the plot
|
||||
plt.show()
|
||||
Reference in New Issue
Block a user