python绘制双向柱状图

该篇文章介绍了如何使用Python中的numpy和matplotlib.pyplot库创建一个横向柱状图,通过取成绩相反数实现双向对比,以及如何调整坐标轴范围和标签以适应实际数据需求。
摘要由CSDN通过智能技术生成
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]  # windows系统
plt.rcParams['axes.unicode_minus']=False      #正常显示符号
%matplotlib inline 

 我们假设x为小明的语文 数学 英语 综合的成绩,y为小红语文 数学 英语 综合的成绩

那么只需要绘制横向柱状图的时候,将x进行取相反数即可得到同直线双向柱状图

x=np.array([95,87,92,100])      
y=np.array([67,99,96,89])

plt.figure(figsize=(12,4))
plt.barh(range(len(y)), -x,color='lightblue',label='小明',height=0.5)
plt.barh(range(len(x)), y,color='pink',label='小红',height=0.5)

虽然我们画出了大致的图,但是发现横纵坐标对不上,那么我们需要对其进行一定的修改,各位也要根据自己的数据属性量进行更改才能达到合适的效果

plt.ylim(-1,4)
plt.xlim(-120,120)
plt.yticks((-1,0,1,2,3,4),('','语文','数学','英语','综合',''))
plt.xticks((-100,-50,0,50,100),('100','50','0','50','100'))
plt.axvline(0, color='black', linestyle='-',linewidth=2)
plt.legend(loc='upper right')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值