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深入学习之上下文管理器
Aug 31 Python
巧用python和libnmapd,提取Nmap扫描结果
Aug 23 Python
Python中运算符"=="和"is"的详解
Oct 08 Python
对numpy中array和asarray的区别详解
Apr 17 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
Python ATM功能实现代码实例
Mar 19 Python
python 实现"神经衰弱"翻牌游戏
Nov 09 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 date与gmdate的获取日期的区别
2010/02/08 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
PHP中“=>
2019/03/01 PHP
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
JavaScript window.location对象
2014/11/14 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
解决Python传递中文参数的问题
2015/08/04 Python
Python之父谈Python的未来形式
2016/07/01 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
详解Python3 pandas.merge用法
2019/09/05 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
员工培训邀请函
2014/02/02 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP