python barh_Matplotlib,水平条形图(barh)颠倒

本文档介绍了如何解决Python使用Matplotlib创建的水平条形图(barh)显示错误的问题,通过调整条形图的y位置实现了正确排序。展示了通过获取并修改条形图元素的y坐标来翻转条形图顺序的代码示例。
摘要由CSDN通过智能技术生成

我将认为这是一个错误,即条的y位置分配不正确。不过,修补程序相对简单:

这只是一个正确的顺序,那叫做…,正确的顺序。任何不正确的命令,都是错误的命令。:p页In [63]:

print df

Total_beef_cattle Total_dairy_cattle Total_sheep Total_deer \

1994 0.000000 0.000000 0.000000 0.000000

2002 -11.025827 34.444950 -20.002034 33.858009

2003 -8.344764 32.882482 -20.041908 37.229441

2004 -11.895128 34.207998 -20.609926 42.707754

2005 -12.366101 32.506699 -19.379727 38.499840

Total_pigs Total_horses

1994 0.000000 0.000000

2002 -19.100637 11.811093

2003 -10.766476 18.504488

2004 -8.072078 13.376472

2005 -19.230733 -100.000000

In [64]:

ax = df.plot(kind='barh', sort_columns=True)

#Get the actual bars

bars = [item for item in ax.get_children() if isinstance(item, matplotlib.patches.Rectangle)]

bars = bars[:df.size]

#Reset the y positions for each bar

bars_y = [plt.getp(item, 'y') for item in bars]

for B, Y in zip(bars, np.flipud(np.array(bars_y).reshape(df.shape[::-1])).ravel()):

B.set_y(Y)

CkZ4r.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值