python matplotlib中的subplot函数使用详解


Posted in Python onJanuary 19, 2020

python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包。基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数。于是,为了节省时间,可以一劳永逸。我把常用函数作了一个总结,最后写了一个例子,以后基本不用怎么改了。

一、作图流程:

1.准备数据, , 3作图, 4定制, 5保存, 6显示

1.数据可以是numpy数组,也可以是list

2创建画布:

import matplotlib.pyplot as plt
#figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
 
#num:图像编号或名称,数字为编号 ,字符串为名称
#figsize:指定figure的宽和高,单位为英寸;
#dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 ,1英寸等于2.5cm,A4纸是 21*30cm的纸张 
#facecolor:背景颜色
#edgecolor:边框颜色
#frameon:是否显示边
 
fig = plt.figure()
fig = plt.figure(figsize=(8,6), dpi=80) 
 
fig.add_axes()
fig, axes = plt.subplos(nrows = 2, ncols = 2) #axes是长度为4的列表

3、作图路线

一维数据:

axes[0, 0].plot(x, y)
axes[0,1].bar([1,2,3], [2,4,8])
axes[0,2].barh([1,2,3], [2,4,8])
axes[1,0].axhline(0.45)
axes[1, 1].scatter(x, y)
axes[1,2].axvline(0.65)
axes[2,0].fill(x,y, color = 'blue')
axes[2,1].fill_between(x,y, color = 'blue')
axes[2,2].violinplot(y)
axes[0,3].arrow(0,0,0.5,0.5)
axes[1,3].quiver(x,y)

4, 定制

plt.plot(x,y, alpha=0.4, c = 'blue', maker = 'o')
#颜色,标记,透明度
 
# 显示数学文本
 
t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)
 
plt.plot(t,s)
plt.title(r'$\alpha_i > \beta_i$', fontsize=20)
plt.text(1, -0.6, r'$\sum_{i=0}^\infty x_i$', fontsize=20)
plt.text(0.6, 0.6, r'$\mathcal{A}\mathrm{sin}(2 \omega t)$',
     fontsize=20)
plt.xlabel('time (s)')
plt.ylabel('volts (mV)')
 
fig = plt.figure()
fig.suptitle('bold figure suptitle', fontsize=14, fontweight='bold')
 
ax = fig.add_subplot(111)
fig.subplots_adjust(top=0.85)
ax.set_title('axes title')
 
ax.set_xlabel('xlabel')
ax.set_ylabel('ylabel')
 
ax.text(3, 8, 'boxed italics text in data coords', style='italic',
    bbox={'facecolor':'red', 'alpha':0.5, 'pad':10})
 
ax.text(2, 6, r'an equation: $E=mc^2$', fontsize=15)
 
ax.text(3, 2, u'unicode: Institut f\374r Festk\366rperphysik')
 
ax.text(0.95, 0.01, 'colored text in axes coords',
    verticalalignment='bottom', horizontalalignment='right',
    transform=ax.transAxes,
    color='green', fontsize=15)
 
 
ax.plot([2], [1], 'o')
 
 
# 注释
ax.annotate('我是注释啦', xy=(2, 1), xytext=(3, 4),color='r',size=15,
      arrowprops=dict(facecolor='g', shrink=0.05))
 
ax.axis([0, 10, 0, 10])

python matplotlib中的subplot函数使用详解

5, 保存显示

plt.savefig("1.png")
plt.savefig("1.png", trainsparent =True)
plt.show()

二、部分函数使用详解:

1, fig.add_subplot(numrows, numcols, fignum) ####三个参数,分别代表子图的行数,列数,图索引号。 eg: ax = fig.add_subplot(2, 3, 1) (or ,ax = fig.add_subplot(231))

2, plt.subplots()使用

x = np.linspace(0, 2*np.pi,400)
y = np.sin(x**2)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Simple plot')
 
# Creates two subplots and unpacks the output array immediately 
#fig = plt.figure(figsize=(6,6))
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)
 
# Creates four polar axes, and accesses them through the returned array
fig, axes = plt.subplots(2, 2, subplot_kw=dict(polar=True))
axes[0, 0].plot(x, y)
axes[1, 1].scatter(x, y)
 
# Share a X axis with each column of subplots
plt.subplots(2, 2, sharex='col')
 
# Share a Y axis with each row of subplots
plt.subplots(2, 2, sharey='row')
 
# Share both X and Y axes with all subplots
plt.subplots(2, 2, sharex='all', sharey='all')
 
# Note that this is the same as
plt.subplots(2, 2, sharex=True, sharey=True)
 
# Creates figure number 10 with a single subplot
# and clears it if it already exists.
fig, ax=plt.subplots(num=10, clear=True)

3.plt.legend()

plt.legend(loc='String or Number', bbox_to_anchor=(num1, num2))
plt.legend(loc='upper center', bbox_to_anchor (0.6,0.95),ncol=3,fancybox=True,shadow=True)
#bbox_to_anchor被赋予的二元组中,第一个数值用于控制legend的左右移动,值越大越向右边移动,第二个数值用于控制legend的上下移动,值越大,越向上移动

python matplotlib中的subplot函数使用详解

以上这篇python matplotlib中的subplot函数使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 异常处理实例详解
Mar 12 Python
python中实现php的var_dump函数功能
Jan 21 Python
详细解析Python当中的数据类型和变量
Apr 25 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 Python
详解Python import方法引入模块的实例
Aug 02 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
基于Python列表解析(列表推导式)
Jun 23 Python
docker django无法访问redis容器的解决方法
Aug 21 Python
python实现翻译word表格小程序
Feb 27 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
python 实现单例模式的5种方法
Sep 23 Python
Python中的 ansible 动态Inventory 脚本
Jan 19 #Python
Python实现序列化及csv文件读取
Jan 19 #Python
使用python turtle画高达
Jan 19 #Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 #Python
python实现五子棋游戏(pygame版)
Jan 19 #Python
Python turtle画图库&&画姓名实例
Jan 19 #Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 #Python
You might like
一个好用的分页函数
2006/11/16 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
Python最小二乘法矩阵
2019/01/02 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
int在python中的含义以及用法
2019/06/27 Python
python爬虫 requests-html的使用
2020/11/30 Python
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
大学生毕业的自我评价分享
2014/01/02 职场文书
民主评议党员工作总结
2014/10/20 职场文书
见义勇为事迹材料
2014/12/24 职场文书
家长会欢迎词
2015/01/23 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
canvas实现贪食蛇的实践
2022/02/15 Javascript