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 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
python通过索引遍历列表的方法
May 04 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
对Pandas MultiIndex(多重索引)详解
Nov 16 Python
Python中logging实例讲解
Jan 17 Python
对pyqt5多线程正确的开启姿势详解
Jun 14 Python
python垃圾回收机制(GC)原理解析
Dec 30 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 Python
Python+OpenCV检测灯光亮点的实现方法
Nov 02 Python
Python使用tkinter实现小时钟效果
Feb 22 Python
python 中的@运算符使用
May 26 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
php四种基础算法代码实例
2013/10/29 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
2019/04/16 PHP
原生js 秒表实现代码
2012/07/24 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
js闭包用法实例详解
2016/12/13 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
js判断节假日实例代码
2017/12/27 Javascript
Puppet的一些技巧
2018/09/17 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
vue实现扫码功能
2020/01/17 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
Python 学习笔记
2008/12/27 Python
Python 列表(List)操作方法详解
2014/03/11 Python
21行Python代码实现拼写检查器
2016/01/25 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Django框架多表查询实例分析
2018/07/04 Python
Python使用MyQR制作专属动态彩色二维码功能
2019/06/04 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
文明礼貌主题班会
2015/08/14 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
OpenCV-Python实现油画效果的实例
2021/06/08 Python
Mysql忘记密码解决方法
2022/02/12 MySQL