繁体   English   中英

如何仅在熊猫 df 的堆积条形图中绘制前 n 个最高值?

[英]How to only plot the top n highest values in stacked bar chart in a pandas df?

我有一个 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   -

有没有办法做到这一点?

如果我理解你的要求......似乎你可以通过获取每列的最大值然后nlargest来选择前 10 列来实现这一点:

df.max().nlargest(10)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM