Python 如何绘制pandas.crosstab()列

Python 如何绘制pandas.crosstab()列,python,pandas,matplotlib,Python,Pandas,Matplotlib,我试图在同一个图中绘制前n个值,它们是pd.crosstab()的结果,我尝试了: tab = pd.crosstab(df['genre_ids'], df['target'],margins=True).sort_values('All',ascending=False) tab = tab.drop('All',axis=1) tab = tab.drop('All',axis=0) tab[:top_n].plot(kind='bar', stacked=True) plt.show()

我试图在同一个图中绘制前n个值,它们是
pd.crosstab()
的结果,我尝试了:

tab = pd.crosstab(df['genre_ids'], df['target'],margins=True).sort_values('All',ascending=False)
tab = tab.drop('All',axis=1)
tab = tab.drop('All',axis=0)
tab[:top_n].plot(kind='bar', stacked=True)
plt.show()
但是我得到了一个条形图,它没有显示选项卡列中的实际值

编辑:

这是交叉表: 我想绘制第0列和第1列中的值,但我得到的图与第0列和第1列中的值不同: 有没有可能得到这样的东西:
但是,如果每个x值的0和1值都在同一条中绘制?

已解决,只需设置
stacked=False
,正如@Nipun Batra在评论中所建议的那样。

您能否提供问题的详细信息。在代码中使用一些随机或硬编码的值,最好也显示一个输出图像,让您解释绘图的错误。绘图是正确的。我想上面的评论现在更适用了。@ImportanceOfBeingErnest我现在已经更新了图片。绘图中的值似乎不正确。例如:第一个x值(341)对于第0列和第1列具有类似的值,但在绘图中没有表示。蓝色表示第0列。对于ID341,该列中有170万,因此蓝色条从0变为170万。绿色表示第1列,值为180万。因此,绿色条从170万变为350万(因为3.5减去1.7等于1.8,这也是正确的)。真的不清楚你的问题是什么。@Simone这些值确实相似。也许您不想使用堆叠:
stacked=False