Data mentah jarang langsung digambar. Dua belas baris transaksi Toko Nusantara harus diringkas dulu menjadi satu angka per cabang atau per bulan, baru hasil ringkasan itu yang digambar. df.groupby("cabang")["total"].sum() menghasilkan Series: index-nya nama cabang, nilainya omzet. Kedua bagian itu cocok dengan argumen ax.bar: s.index untuk sumbu x dan s.values untuk tinggi batang.
s = df.groupby("cabang")["total"].sum()
fig, ax = plt.subplots()
ax.bar(s.index, s.values)pandas juga punya method plot yang memanggil matplotlib di belakangnya. s.plot(kind="barh", ax=ax) menggambar Series itu ke ax yang sudah dibuat, sehingga judul dan label tetap bisa dipasang dengan method ax seperti biasa. Hasil groupby diurutkan menurut index secara abjad; urutan menurut nilai memerlukan sort_values() sebelum digambar.
Untuk tren bulanan, kolom tanggal diubah dulu dengan pd.to_datetime, nomor bulannya diambil dengan .dt.month, lalu omzet dikelompokkan per nomor bulan itu. Tanpa pengubahan tipe, tanggal masih berupa teks dan tidak punya bulan.
Kesalahan umum: memanggil s.plot() tanpa ax=ax setelah membuat fig, ax. pandas menggambar ke Axes aktif, dan hasilnya bisa mendarat di grafik yang tidak dimaksud.