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函数编程的一些特性
Apr 13 Python
Python实现截屏的函数
Jul 26 Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
Sanic框架Cookies操作示例
Jul 17 Python
python矩阵的转置和逆转实例
Dec 12 Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
QML实现钟表效果
Jun 02 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 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
模板引擎正则表达式调试小技巧
2011/07/20 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
如何在PHP中读写文件
2020/09/07 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
再谈javascript原型继承
2014/11/10 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
pandas中去除指定字符的实例
2018/05/18 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
九年级数学教学反思
2014/02/02 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
机关作风建设工作总结
2014/10/23 职场文书
领导班子整改方案
2014/10/25 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
主题班会开场白
2015/06/01 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
2016中秋节广告语
2016/01/28 职场文书
2017春节晚会开幕词
2016/03/03 职场文书