use*_*r40 1 python plot matplotlib dataframe pandas
我有数据框:
payout_df.head(10)
复制以下 excel 图的最简单、最智能和最快的方法是什么?
我尝试了不同的方法,但无法让一切都到位。
谢谢
如果您只想要一个堆积条形图,那么一种方法是使用循环绘制数据框中的每一列并跟踪累积总和,然后将其作为bottom
参数传递pyplot.bar
import pandas as pd
import matplotlib.pyplot as plt
# If it's not already a datetime
payout_df['payout'] = pd.to_datetime(payout_df.payout)
cumval=0
fig = plt.figure(figsize=(12,8))
for col in payout_df.columns[~payout_df.columns.isin(['payout'])]:
plt.bar(payout_df.payout, payout_df[col], bottom=cumval, label=col)
cumval = cumval+payout_df[col]
_ = plt.xticks(rotation=30)
_ = plt.legend(fontsize=18)
Run Code Online (Sandbox Code Playgroud)