map转string html loops woocommerce lambda grep 后台网站模板 bootstrap后台管理 十大erp系统 郑州小程序公司 jquery查找子元素 cpm计算 mysql增删改查语句 python编程练习题 matlab停止运行 js数组截取前5个 完美解决cpu利用率低 后台管理网站模板 java重载和重写的区别 java创建文件 java生成当前时间 java语言编程 linux如何安装 mathcad下载 内存修改器 安卓刷机精灵 大势至usb监控 hdcp是什么 studioone 微信昵称特殊字符保存 ps光照效果 微信摇骰子 倒计时定时器 ae蒙版和遮罩 ofd文件阅读器 Ivideo 尾行3存档 acpi是什么 决战者加点 微信小程序源码
当前位置: 首页 > 学习教程  > python

入门matplotlib—分组柱状图

2021/2/6 22:27:33 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

分组柱状图 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 遇到数据中有中文的时候,一定要先设置中文字体 plt.rcParams[font.sans-serif][SimHei] # 用黑体显示中文 # 解决坐标轴负号问题 plt.rcParams[axes.unicode_minus] False …

分组柱状图

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 遇到数据中有中文的时候,一定要先设置中文字体
plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
# 解决坐标轴负号问题
plt.rcParams['axes.unicode_minus'] = False
path = 'C:/Users/Administrator/Desktop/playground2/03.分组柱状图.xlsx'
data = pd.read_excel(path)
data.sort_values(by='第二年',inplace=True,ascending=False)
w = 0.3
plt.bar(data.姓名,data.第一年,width=w,color='red',alpha=0.5,label='第一年')  #第一个
plt.bar(np.arange(len(data.第一年))+0.3,data.第二年,width=w,color='green',alpha=0.5,label='第二年')  #第二个
# plt.xticks可以实现旋转角度,但是不能设置旋转点,所以要与轴.set_xticklabels配合使用
i = plt.gca()    #拿到轴
# 对x轴数据进行旋转45度,且以中心为旋转点【同样可以用left或right】
i.set_xticklabels(data.姓名,rotation=45,ha='center')
# 解决图四周的空白,是对图形操作,需要先拿到图形[也可以用紧凑型布局方案]
p = plt.gcf()
p.subplots_adjust(left=0.1,bottom=0.3)
# 紧凑型的布局
#plt.tight_layout()
plt.show()

在这里插入图片描述

添加数据标签

plt.text详细解析
plt.text(x, y, string, fontsize=15, ha=“right”, va=“top”, rotation=45 )
x,y:表示坐标值上的值
string:表示说明文字
fontsize:表示字体大小
ha:水平对齐方式 ,参数:[ ‘center’ | ‘right’ | ‘left’ ]
va:垂直对齐方式 ,参数:[ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ]
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 遇到数据中有中文的时候,一定要先设置中文字体
plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
# 解决坐标轴负号问题
plt.rcParams['axes.unicode_minus'] = False
path = 'C:/Users/Administrator/Desktop/playground2/03.分组柱状图.xlsx'
data = pd.read_excel(path)
data.sort_values(by='第二年',inplace=True,ascending=False)
w = 0.3
plt.bar(data.姓名,data.第一年,width=w,color='red',alpha=0.5,label='第一年')  #第一个
plt.bar(np.arange(len(data.第一年))+0.3,data.第二年,width=w,color='green',alpha=0.5,label='第二年')  #第二个
# plt.xticks可以实现旋转角度,但是不能设置旋转点,所以要与轴.set_xticklabels配合使用
i = plt.gca()    #拿到轴
# 对x轴数据进行旋转45度,且以中心为旋转点【同样可以用left或right】
i.set_xticklabels(data.姓名,rotation=45,ha='center')
# 解决图四周的空白,是对图形操作,需要先拿到图形[也可以用紧凑型布局方案]
p = plt.gcf()
p.subplots_adjust(left=0.1,bottom=0.3)
# 紧凑型的布局
plt.tight_layout()



# 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for i,j in enumerate(data.第一年):
    plt.text(i,j,str(j),ha='center',va='top')   #i相当于下标,j相当于第一年的值
for i,j in enumerate(data.第二年):
    plt.text(i+w,j,str(j),ha='center',va='top')

plt.show()

在这里插入图片描述


本文链接: http://www.dtmao.cc/news_show_2000118.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?