File size: 850 Bytes
90796fd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1786eb8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import matplotlib.pyplot as plt
import pandas as pd
import logging

logger = logging.getLogger(__name__)

def plot_usage(df):
    """Plot daily usage trends from log data."""
    logger.info("Generating usage plot...")
    try:
        df["timestamp"] = pd.to_datetime(df["timestamp"])
        daily_usage = df.groupby([df["timestamp"].dt.date, "equipment"]).size().unstack(fill_value=0)
        
        fig, ax = plt.subplots(figsize=(10, 6))
        daily_usage.plot(kind="line", ax=ax)
        ax.set_title("Daily Usage Trends")
        ax.set_xlabel("Date")
        ax.set_ylabel("Usage Count")
        ax.legend(title="Equipment")
        plt.tight_layout()
        
        logger.info("Usage plot generated successfully.")
        return fig
    except Exception as e:
        logger.error(f"Failed to generate usage plot: {e}")
        raise