Saya menggunakan kode berikut untuk memplot grafik batang:
import matplotlib.pyplot as pls
my_df.plot(x='my_timestampe', y='col_A', kind='bar')
plt.show()
Plot berfungsi dengan baik. Namun, saya ingin meningkatkan grafik dengan memiliki 3 kolom: 'col_A', 'col_B', dan 'col_C' semua pada plot. Seperti pada contoh gambar di bawah ini:
Saya ingin col_A
ditampilkan dengan warna biru di atas sumbu x, col_B
berwarna merah di bawah sumbu x, dan col_C
berwarna hijau di atas sumbu x. Apakah ini sesuatu yang mungkin di matplotlib? Bagaimana saya membuat perubahan untuk memplot ketiga kolom tersebut? Terima kasih!
Anda dapat memplot beberapa kolom sekaligus dengan memberikan daftar nama kolom ke argumen plot
's y
.
df.plot(x="X", y=["A", "B", "C"], kind="bar")
Ini akan menghasilkan grafik di mana batang-batang duduk bersebelahan.
Untuk membuat mereka saling tumpang tindih, anda perlu memanggil plot
beberapa kali, dan menyediakan sumbu untuk plot sebagai argumen ax
ke plot.
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
y = np.random.rand(10,4)
y[:,0]= np.arange(10)
df = pd.DataFrame(y, columns=["X", "A", "B", "C"])
ax = df.plot(x="X", y="A", kind="bar")
df.plot(x="X", y="B", kind="bar", ax=ax, color="C2")
df.plot(x="X", y="C", kind="bar", ax=ax, color="C3")
plt.show()
Meskipun jawaban yang diterima berfungsi dengan baik, sejak v0.21.0rc1, jawaban itu memberikan peringatan
Peringatan Pengguna: Pandas tidak mengizinkan kolom dibuat melalui nama atribut baru
Sebagai gantinya, seseorang dapat melakukan
df[["X", "A", "B", "C"]].plot(x="X", kind="bar")