Я использую следующий код для построения гистограммы:
import matplotlib.pyplot as pls
my_df.plot(x='my_timestampe', y='col_A', kind='bar')
plt.show()
Участок работает нормально. Однако, я хочу, чтобы улучшить график, имея 3 колонны: 'столбец col_a', 'col_B' и 'col_C' все на участке. Как в Примере на рисунке ниже:
Я бы хотел, чтобы столбец col_a
окрашен в синий цвет выше оси X, col_B
в красном ниже оси X, и `col_C в зеленый выше оси X. Это то, что можно в библиотек matplotlib? Как мне внести изменения в сюжет всех трех колонок? Спасибо!
Вы можете построить несколько столбцов одновременно, предоставляя список имен столбцов в участке
'аргумент s г
.
df.plot(x="X", y=["A", "B", "C"], kind="bar")
Это позволит произвести графике, где бары сидят рядом друг с другом.
Для того, чтобы они перекрывались, вы должны были бы вызвать "сюжет" несколько раз, и поставке осей на участок в качестве аргумента топор
к сюжету.
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()
Хотя принято отвечать нормально работает, с версии v0.21.0rc1 проверка]1 это дает предупреждение
UserWarning: панды не'т позвольте столбцы должны быть созданы с помощью нового атрибута name
Вместо этого можно делать
df[["X", "A", "B", "C"]].plot(x="X", kind="bar")