python绘制条形图方法代码详解


Posted in Python onDecember 19, 2017

1.首先要绘制一个简单的条形图

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import mlab
from matplotlib import rcParams
fig1 = plt.figure(2)
rects =plt.bar(left = (0.2,1),height = (1,0.5),width = 0.2,align="center",yerr=0.000001)
plt.title('Pe')
plt.show()

python绘制条形图方法代码详解

1.1上面中rects=plt.bar(left=(0.2,1),height=(1,0.5),width=0.2,align=”center”,yerr=0.000001)这句代码是最重要的,其中left表示直方图的开始的位置(也就是最左边的地方),height是指直方图的高度,当直方图太粗时,可以通过width来定义直方图的宽度,注意多个直方图要用元组,yerr这个参数是防止直方图触顶。

2.增加直方图脚注

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import mlab
from matplotlib import rcParams
fig1 = plt.figure(2)
rects =plt.bar(left = (0.2,1),height = (1,0.5),width = 0.2,align="center",yerr=0.000001)
plt.title('Pe')
plt.xticks((0.2,1),('frst','second'))
plt.show()

python绘制条形图方法代码详解

3.条形图上显示具体的数字(自动编号)

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import mlab
from matplotlib import rcParams
fig1 = plt.figure(2)
rects =plt.bar(left = (0.2,1),height = (1,0.5),width = 0.2,align="center",yerr=0.000001)
plt.title('Pe')
def autolabel(rects):
  for rect in rects:
    height = rect.get_height()
    plt.text(rect.get_x()+rect.get_width()/2., 1.03*height, '%s' % float(height))
autolabel(rects)
plt.xticks((0.2,1),('frst','second'))
plt.show()

python绘制条形图方法代码详解

4.改变颜色

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import mlab
from matplotlib import rcParams
fig1 = plt.figure(2)
rects =plt.bar(left = (0.2,1),height = (1,0.5),color=('r','g'),width = 0.2,align="center",yerr=0.000001)
plt.title('Pe')
def autolabel(rects):
  for rect in rects:
    height = rect.get_height()
    plt.text(rect.get_x()+rect.get_width()/2., 1.03*height, '%s' % float(height))
autolabel(rects)
plt.xticks((0.2,1),('frst','second'))
plt.show()

python绘制条形图方法代码详解

5.添加图注

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import mlab
from matplotlib import rcParams
fig1 = plt.figure(2)
rects1 =plt.bar(left = (0.2),height = (0.5),color=('g'),label=(('no1')),width = 0.2,align="center",yerr=0.000001)
rects2 =plt.bar(left = (1),height = (1),color=('r'),label=(('no2')),width = 0.2,align="center",yerr=0.000001)
plt.legend()
plt.xticks((0.2,1),('frst','second'))
plt.title('Pe')

def autolabel(rects):
  for rect in rects:
    height = rect.get_height()
    plt.text(rect.get_x()+rect.get_width()/2., 1.03*height, '%s' % float(height))
autolabel(rects1)
autolabel(rects2)
plt.show()

python绘制条形图方法代码详解

6大家根据自己的需要自己来绘制自己的条形图

下面回答网友提问,如何画在条形图上垂直显示数据:

下面这个函数是用来垂直显示的,其中设置角度就可以以任意方式来显示。

def autolabel(rects,Num=1.12,rotation1=90,NN=1):
    for rect in rects:
      height = rect.get_height()
      plt.text(rect.get_x()-0.04+rect.get_width()/2., Num*height, '%s' % float(height*NN),rotation=rotation1)

调用方式如下

rects1 =plt.bar(left = (0.05),height = (Pe_FH),color=('b'),label=('FHMM'),width = 0.1,align="center",yerr=0.000001);
autolabel(rects1,1.09);

下面是效果图

python绘制条形图方法代码详解

总结

以上就是本文关于python绘制条形图方法代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参考本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python制作数据导入导出工具
Jul 31 Python
django+js+ajax实现刷新页面的方法
May 22 Python
pandas 两列时间相减换算为秒的方法
Apr 20 Python
老生常谈python中的重载
Nov 11 Python
python实现五子棋小游戏
Mar 25 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
Django框架用户注销功能实现方法分析
May 28 Python
Python input函数使用实例解析
Nov 22 Python
PyTorch的SoftMax交叉熵损失和梯度用法
Jan 15 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
如何在mac下配置python虚拟环境
Jul 06 Python
Python try except finally资源回收的实现
Jan 25 Python
Python实现两款计算器功能示例
Dec 19 #Python
Python构建网页爬虫原理分析
Dec 19 #Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 #Python
Python实现采用进度条实时显示处理进度的方法
Dec 19 #Python
Python实现矩阵加法和乘法的方法分析
Dec 19 #Python
分析python切片原理和方法
Dec 19 #Python
python实现redis三种cas事务操作
Dec 19 #Python
You might like
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
vuex实现数据状态持久化
2019/11/11 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
[06:33]3.19 DOTA2发布会 海涛、冷冷、2009见证希望
2014/03/21 DOTA
python连接MySQL数据库实例分析
2015/05/12 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
Python对wav文件的重采样实例
2020/02/25 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
Python正则表达式如何匹配中文
2020/05/27 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
django rest framework使用django-filter用法
2020/07/15 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
高二英语教学反思
2016/03/03 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python
python运算符之与用户交互
2022/04/13 Python