如何在一个图中仅绘制堆叠条形图中的前n个最高值?

2024-09-27 23:19:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个df,看起来像:

  CD1  CD2  CD3   ...  FG1  FG2
0 3.8  2.9  0     ...  0.1  0.1
1 0.1  0    4.1   ...  5.2  0
# 35 Colomns and 2 Rows

我用以下方法绘制了一个堆叠条形图:

colors = plt.cm.jet(np.linspace(0, 1, 35))
df3.plot(kind='barh',stacked=True, figsize=(15,10),color=colors, width=0.08)

但我的问题是,这将绘制所有35列,但我只想绘制具有最高值的n列,例如,仅绘制第0行的CD1和CD2,以及第1行的CD3和FG1

  CD1  CD2  CD3   ...  FG1  FG2
0 3.8  2.9  -     ...  -     -
1  -    -   4.1   ...  5.2   -

有办法做到这一点吗


Tags: and方法df绘制cmpltrows条形图
1条回答
网友
1楼 · 发布于 2024-09-27 23:19:43

如果我明白你的要求。。。似乎您可以通过为每个列获取max,然后是nlargest来选择前10列来实现这一点:

df.max().nlargest(10)

结果应该是一个按列名索引的序列,因此绘制该数据应该很容易

相关问题 更多 >

    热门问题