Συνδυάζοντας το κλασικό line chart με ax.axvspan μπορούμε να σκιάσουμε οποιοδήποτε διάστημα και να τραβήξουμε την προσοχή σε εβδομάδες καμπανιών ή περιόδους αιχμής.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
dates = pd.date_range("2024-04-01", periods=30, freq="D")
sessions = np.random.poisson(lam=500, size=len(dates)) + np.linspace(0, 80, len(dates))
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(dates, sessions, color="#6366f1", linewidth=2)
campaign_start = pd.Timestamp("2024-04-10")
campaign_end = pd.Timestamp("2024-04-18")
ax.axvspan(campaign_start, campaign_end, color="#fbbf24", alpha=0.2, label="Καμπάνια")
ax.set_ylabel("Αριθμός sessions")
ax.set_title("Καθημερινά sessions και περίοδος καμπάνιας")
ax.legend(loc="upper left")
ax.grid(alpha=0.3)
fig.tight_layout()
plt.show()

Τι να θυμάστε #
- Κρατήστε το υπόβαθρο διακριτικό και πιο ανοιχτό από τη γραμμή ώστε να μην κλέβει την παράσταση.
- Για πολλαπλά διαστήματα, διαφοροποιήστε με ξεχωριστά χρώματα ή pattern.
- Συμπληρώστε σύντομα annotations με το όνομα του event ή της ενέργειας· θα αποτελέσουν χρήσιμο ιστορικό για μελλοντική ανάλυση.