从 Python 中的单个行绘制子图

Plotting Subplots from Individual Row in Python

我有以下数据框:

   UserId   Gold Silver Bronze TagBased TotalBadges
0   854      1     7    22       2         30
1   5740     6    42    114     12        162
2   26       7    68    168      1        243
3   8884    14    94    229      3        337

我想为显示金牌、银牌和铜牌的个人用户制作子图。因此,我总共想要这 4 个用户的 4 个子图。

我试过下面的代码,但它没有给出任何输出。

fig = plt.figure()

ax0=fig.add_subplot(221)
ax1=fig.add_subplot(222)
ax2=fig.add_subplot(223)
ax3=fig.add_subplot(224)

for index,rows in df_tagBased.iterrows():
  df_tagBased['UserId'=='854'].plot(kind = 'hist',ax=ax0,figsize = (15,8))

您可以执行 set_index 并绘制转置:

(df.set_index('UserId')[['Gold','Silver','Bronze']]
   .T.plot.bar(subplots=True,layout=(2,2))
)

输出: