在pandas中,我使用标准的pd.DataFrame.plot方法绘制了下面的.describe()表:
编辑:CSV原始数据:https://drive.google.com/file/d/1uQltao5atGgFFIkyiicHclpd7sHcduwf/view?usp=sharing
并且输出:
我使用的代码是:
test = dict(df.groupby('symbol')['growth_%'].describe())
testdf = pd.DataFrame().from_dict(test)
testdf[['25%', '50%', '75%']].plot(kind='bar', stacked=True, figsize=(10, 6));
我想编辑的特定行为是第50个百分位值。现在,如果值小于0,它将标记自己低于第25个百分位值,或者如果大于0,它将标记自己低于第75个百分位值。
我希望第50百分位数始终处于2个值的中间,并且最好实际上不影响条的长度-也就是说,通过求和,不会使第25百分位数值看起来更低或第75百分位数值看起来更高。
我知道这就是堆叠条形图的本质,我想问的更像是在第二个y轴上有第50个百分位数,所以它实际上不会影响其他条形图。有没有一种方便的方法可以从df.plot()方法中生成我所描述的内容?或者我需要创建一个第二个y轴并单独绘制第50个百分位数?
1条答案
按热度按时间9udxz4iz1#
IIUC,您可以更改系列的顺序,以如下方式绘制:
输出:
度假胜Map例:
输出:
最后,对于重叠且不堆叠的条:
输出: