Αν στοιβάξουμε τις μηνιαίες πωλήσεις ανά κανάλι πάνω στην ίδια μπάρα, βλέπουμε ταυτόχρονα τόσο τον συνολικό όγκο όσο και το ποσοστό συμμετοχής κάθε καναλιού.
import numpy as np
import matplotlib.pyplot as plt
months = ["Apr", "May", "Jun", "Jul"]
online = np.array([150, 180, 190, 210])
store = np.array([100, 120, 130, 150])
wholesale = np.array([60, 70, 80, 85])
fig, ax = plt.subplots(figsize=(6, 4))
ax.bar(months, online, label="Online", color="#60a5fa")
ax.bar(months, store, bottom=online, label="Καταστήματα", color="#fbbf24")
ax.bar(months, wholesale, bottom=online + store, label="Χονδρική", color="#34d399")
ax.set_ylabel("Πωλήσεις (εκατ. γιεν)")
ax.set_title("Πωλήσεις και μερίδιο ανά κανάλι")
ax.legend(loc="upper left")
ax.grid(axis="y", alpha=0.2)
fig.tight_layout()
plt.show()

Τι βοηθά στην ανάγνωση #
- Αν θέλετε ποσοστιαία ανάγνωση, διαιρέστε κάθε σειρά με το άθροισμα ώστε να δημιουργηθεί 100% stacked γράφημα.
- Για να τραβήξετε την προσοχή στο άθροισμα κάθε μήνα, μπορείτε να προσθέσετε μια γραμμή που ενώνει τις κορυφές.
- Τοποθετήστε τα βασικά κανάλια από τη βάση προς τα πάνω ώστε ο υπόμνημα να ταιριάζει με τη διάταξη των ράβδων.