import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

# Load CSV
df = pd.read_csv("plant_co2_log.csv")

# ✅ EXPLICITLY DEFINE YOUR TIMESTAMP FORMAT (DD-MM-YYYY HH:MM)
df["Timestamp"] = pd.to_datetime(
    df["Timestamp"],
    format="%d-%m-%Y %H:%M"
)

# Create plot
plt.figure(figsize=(12,5))
plt.plot(df["Timestamp"], df["CO2_ppM"], marker="o")

# ✅ FORCE TIME-BASED TICKS
plt.gca().xaxis.set_major_locator(mdates.MinuteLocator(interval=1))
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter("%H:%M"))

# Rotate for readability
plt.xticks(rotation=45)

# Labels
plt.title("Overnight Plant Respiration (CO₂)")
plt.xlabel("Time (HH:MM)")
plt.ylabel("CO₂ (ppm)")
plt.grid()
plt.tight_layout()
plt.show()
