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利用elaphe制作二维条形码实现代码
May 25 Python
Python创建日历实例
Aug 21 Python
Python实现抓取城市的PM2.5浓度和排名
Mar 19 Python
Python实现进程同步和通信的方法
Jan 02 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
python读取文本中的坐标方法
Oct 14 Python
在Python中增加和插入元素的示例
Nov 01 Python
Python list列表中删除多个重复元素操作示例
Feb 27 Python
python tools实现视频的每一帧提取并保存
Mar 20 Python
django有外键关系的两张表如何相互查找
Feb 10 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
Python decorator拦截器代码实例解析
Apr 04 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
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
详细解读Python中解析XML数据的方法
2015/10/15 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
Django中URL的参数传递的实现
2019/08/04 Python
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
思想政治自我鉴定
2013/10/06 职场文书
行政人员岗位职责
2013/12/08 职场文书
竞选班长演讲稿
2013/12/30 职场文书
工程造价专业大学生职业规划范文
2014/03/09 职场文书
精彩的广告词
2014/03/19 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
决心书格式范文
2015/09/23 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
element多个表单校验的实现
2021/05/27 Javascript
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang