Σωρευτικό area chart

Visualize

Σωρευτικό area chart

Created: Last updated: Read time: 1 min

Αν απεικονίσουμε τον όγκο επισκέψεων κάθε ζώνης ώρας ως σωρευμένο area chart για PC, smartphone και tablet, το εμβαδό κάθε στρώσης ισούται με τον όγκο πρόσβασης. Έτσι διαβάζουμε ταυτόχρονα τόσο τη συνολική κίνηση όσο και τη μίξη συσκευών.

import numpy as np
import matplotlib.pyplot as plt

hours = np.array([0, 4, 8, 12, 16, 20, 24])
pc = np.array([120, 150, 180, 210, 240, 220, 180])
mobile = np.array([200, 220, 240, 260, 280, 300, 260])
tablet = np.array([80, 90, 120, 150, 180, 170, 140])

fig, ax = plt.subplots(figsize=(6, 4))
ax.stackplot(
    hours,
    tablet,
    mobile,
    pc,
    labels=["Tablet", "Smartphone", "PC"],
    colors=["#bfdbfe", "#93c5fd", "#3b82f6"],
    alpha=0.85,
)
ax.set_xlim(0, 24)
ax.set_xticks(hours)
ax.set_ylabel("Πλήθος PV")
ax.set_xlabel("Ζώνη ώρας (ώρες)")
ax.set_title("Κίνηση ανά ζώνη ώρας και συσκευή")
ax.legend(loc="upper left", frameon=False)
ax.grid(axis="y", alpha=0.3)

fig.tight_layout()

plt.show()

Το εμβαδό ισούται με τον όγκο πρόσβασης, οπότε η μεταβολή στη μίξη συσκευών φαίνεται αμέσως

Σημεία προσοχής #

  • Εντοπίστε ποιες ώρες έχουν το μεγαλύτερο εμβαδό για να βρείτε τα traffic peaks και πώς μοιράζονται μεταξύ των συσκευών.
  • Για 100% απεικόνιση, διαιρέστε κάθε σειρά με το άθροισμά της ώστε οι αναλογίες να φαίνονται καθαρά.
  • Θέλετε να αναδείξετε κάποια κατηγορία; παίξτε με την ένταση χρώματος ή τη σειρά στο στοίβαγμα ώστε να μην χαθεί κάτω από άλλες στρώσεις.