Όταν προβάλλουμε την πρόβλεψη ενός μοντέλου μαζί με τα όριά της χρησιμοποιώντας fill_between, μεταφέρουμε όχι μόνο την αναμενόμενη τιμή αλλά και την αβεβαιότητα που τη συνοδεύει.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1, 13)
forecast = 80 + 4 * x + np.random.normal(scale=3, size=len(x))
lower = forecast - np.random.uniform(5, 8, size=len(x))
upper = forecast + np.random.uniform(5, 8, size=len(x))
fig, ax = plt.subplots(figsize=(6.5, 4))
ax.plot(x, forecast, color="#2563eb", linewidth=2.5, label="Πρόβλεψη")
ax.fill_between(x, lower, upper, color="#93c5fd", alpha=0.4, label="Ζώνη πρόβλεψης (80%)")
ax.set_xticks(x)
ax.set_xlabel("Μήνας")
ax.set_ylabel("Πρόβλεψη εσόδων (εκατ. γιεν)")
ax.set_title("Πρόβλεψη εσόδων και ζώνη εμπιστοσύνης")
ax.legend(loc="upper left")
ax.grid(alpha=0.3)
fig.tight_layout()
plt.show()

Όσα βοηθούν στην ερμηνεία #
- Αν το band είναι πολύ αδιαφανές, κρύβει τη γραμμή. Κρατήστε το opacity γύρω στο 0.3–0.4.
- Εκεί όπου η ζώνη πλαταίνει, η αβεβαιότητα αυξάνεται· σκεφτείτε συλλογή πρόσθετων δεδομένων ή βελτίωση του μοντέλου.
- Αν προβάλετε και πραγματικές τιμές, διαφοροποιήστε χρώματα ή dash style ώστε να μην μπερδεύονται οι γραμμές.