当前位置: 首页 > article >正文

python-绘图(主次坐标轴)

-- coding: utf-8 --

“”"
Spyder Editor

This is a temporary script file.
“”"

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data1=pd.ExcelFile(r"D:\ZXL工作文件\6.15\6.16汇报内容1.xlsx")

raw_data=pd.read_excel(data1,sheet_name='原始数据')
zhiji=pd.read_excel(data1,sheet_name="职级")

dict1=pd.read_excel(data1,sheet_name="职级").set_index('职级')['对应等级'].to_dict()
raw_data['对应等级']=raw_data['职级'].map(dict1)

x=raw_data[(raw_data['业务']=="新车")&(raw_data['对应等级']=="客户经理")]['职级']
y1= raw_data[(raw_data['业务']=="新车")&(raw_data['对应等级']=="客户经理")]['人数']
y2= raw_data[(raw_data['业务']=="新车")&(raw_data['对应等级']=="客户经理")]['平均产能']
y3= raw_data[(raw_data['业务']=="新车")&(raw_data['对应等级']=="客户经理")]['成本率(元效)']

plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
# plt.rcParams['axes.unicode_miuns']=False # 用来正常显示负号

重叠图

fig=plt.figure()
ax=fig.add_subplot(111)
ax.bar(x,y1,color='orange',label="人数")
ax.bar(x,y2,color='gray',label="人均产能")
ax.plot(x,y3,color='yellow',label="成本率")
ax.legend(loc='best',frameon=False)
ax.set_title("%s人员产能及薪酬-%s" % (raw_data['对应等级'][1],raw_data['业务'][1]))

主次坐标轴

x1=np.arange(len(x))
fig,ax1=plt.subplots(figsize=(14,8))
ax2=ax1.twinx() # 显示次坐标轴
b1=ax1.bar(x,y1,color="orange",width=0.3,label="人数")
l1=ax2.plot(x,y3,color='yellow',label="成本率")
xticks_lable=x.values
ax1.set_xticks(x) # 显示X轴刻度标签值

plt.tick_params(left=True)

ax1.set_xticklabels(x.values)  # 缺少一个值
ax2.set_ylabel('成本率')
ax1.legend(loc='best',frameon=False) # 图例放在最优的位置
ax2.legend(loc='best',frameon=False) # 图例放在最优的位置
ax1.bar_label(b1) # 显示数据标签
ax1.set_title("主次坐标图")
plt.show()

多列柱状图

plt.figure()
b1=plt.bar(x1,y1,color="orange",width=0.3,label="人数")
b2=plt.bar(x1+0.3,y2,color='gray',width=0.3,label="人均产能")
plt.xticks(x1+0.15,x.values)
plt.bar_label(b1)
plt.bar_label(b2,fmt='%d')
plt.title("多列柱状图")
plt.show()

http://www.kler.cn/a/156478.html

相关文章:

  • 使用热冻结数据层生命周期优化在 Elastic Cloud 中存储日志的成本
  • SpringCloud 微服务消息队列灰度方案 (RocketMQ 4.x)
  • 【OpenEuler】配置虚拟ip
  • 机器学习【激活函数】
  • 硬件工程师之电子元器件—二极管(4)之热量对二极管温度特性的影响
  • Java 责任链模式 减少 if else 实战案例
  • windows11 调整鼠标灵敏度方法
  • 分享73个节日PPT,总有一款适合您
  • LeetCode [中等]岛屿数量
  • 安卓8预装可卸载应用
  • 关于开展人工智能专业人员“自然语言及语音处理设计开发工程师”专项培训的通知
  • 2.Ansible的copy模块,我最常用的模块
  • 动能资讯 | 智能音箱—万物物联新纽带
  • SSL证书 免费
  • MacOS14 Sonoma 安装 Flutter 开发环境
  • CRM助力销售:提升效率与业绩的双刃剑!
  • undo log 具体怎么回滚事务,如何查询慢 SQL 产生的原因
  • 1688API接口系列,1688开放平台接口使用方案(商品详情数据+搜索商品列表+商家订单类)
  • 数据库SQL中的三个语句:DROP、TRUNCATE 、DELETE 以上三种的区别? 效率?
  • JavaWeb | 验证码 、 文件的“上传”与“下载”
  • 8g-pwm
  • 【程序员 | 交流】程序员情商修炼指南系列 (沟通是有效合作一大利器)
  • 人工智能算法
  • 分享78个节日PPT,总有一款适合您
  • 「Swift」取消UITableView起始位置在状态栏下方开始
  • [足式机器人]Part2 Dr. CAN学习笔记-Ch0-1矩阵的导数运算