先看一个最简单的例子

import matplotlib.pyplot as plt

plt.figure()

plt.subplot(211)

plt.plot([1,2,3], color=''r", linestyle='--')

plt.show()

1、figure的使用:自定义整张画布

 语法:figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)  

  num:图像编号或名称,数字为编号,字符串为名称

  figsize:指定图像的宽和高,单位为英寸(1英寸为2.5cm)

  dpi:指定绘图对象的分辨率,即每英寸多少个像素,默认是80

  facecolor:背景颜色

  edgecolor:边框颜色

  frameon:是否显示边框

    plt.figure("test",figsize=(5,5), dpi=100, facecolor='c', edgecolor='b', frameon=True)

    plt.show()

    

2、subplot:创建单个子图

  将figure规划为多个子图,但是没跳subplot命令只会创建一个子图

 语法:subplot(nrows, ncols, sharex, sharey, subplot_kw, **fig_kw)

    nrows:将画布划分为n行

    ncols:将画布划分为n列

    sharex:所有subplot将使用相同的X轴刻度

    sharey:所有的subplot将使用相同的y轴刻度

    subplot_kw:用于创建各个subplot的关键字字典

    **fig_kw:创建fig时其他关键字,如plt.subplots(2,2,figsize=(5,5))

    

   

3、add_subplots:创建多个子图

  add_subplots是面向figure对象编程的,matplotlib的pyplot中没有此命令

  语法和subplot类似

  fig, axes = plt.subplots(2,2)  # 将画图分成了横向两块,纵向两块

  ax1 = axes[0,0]

  ax2 = axes[0,1]

  ax3 = axes[1,0]

  ax4 = axes[1,1]

  # 画图

  ax1.plot(x,x)

  ax2.plot(x,-x)

  ax2.grid(color='r', linestyle='--', alpha=0.3)

  plt.show()

  

4、add_axes:新增子区域

  此方法也是面向figure对象编程的,pyplot也是没有此命令的。

  add_axes为新增子区域,该区域可以任意大小,可以落座在figure画布内的任意位置。

  适合做一些图中图

  f = plt.figure()

  x = [1,2,3,4,5,6,7,8,9]

  y = [1,4,2,3,5,6,8,9,1]

  # 设置绘制图形的起始位置及宽高,从figure的10%位置开始绘制,宽高是figure的80%

  l,b,w,h = 0.1,0.1,0.8,0.8

  ax1 = f.add_axes(l,b,w,h)

  ax1.plot(x,y,'r')

  

  # 绘制图形2的起始位置,左边从20%开始画,底部从画布的60%处开始画,宽高是画布的25%

  l,b,w,h = 0.2,0.6,0.25,0.25

  ax2 = f.add_axes(l,b,w,h)

  ax2.plot(x,y,'b')

  plt.show()

  

更多相关知识,可以查看官方文档说明:https://matplotlib.org/contents.html

matplot绘图基本使用的更多相关文章

  1. 使用matplot绘图 @python

    1. 使用csv 模块读取数据 2. 定义label 3. 绘图,调参 #!/usr/bin/env python # coding=utf-8 import sys import matplotli ...

  2. matplot绘图

    import matplotlib.pyplot as pltimport numpy as npimport matplotlib # 设置matplotlib正常显示中文和负号matplotlib ...

  3. matplot绘图(五)

    b3D图形绘制 # 导包:from mpl_toolkits.mplot3d.axes3d import Axes3Dimport matplotlib.pyplot as plt%matplotli ...

  4. python matplot 绘图

    import numpy as np import matplotlib.pyplot as plt plt.figure(1) # 创建图表1 plt.figure(2) # 创建图表2 ax1 = ...

  5. matplot绘图无法显示中文的问题

    手动添加: from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体 mpl.rcParams['axes.un ...

  6. 用python一步一步教你玩微信小程序【跳一跳】

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

  7. 用Python来玩微信跳一跳

    微信2017年12月28日发布了新版本,在小程序里面有一个跳一跳小游戏,试着点一点玩了下.第二天刚好在一篇技术公众号中,看到有大神用Python代码计算出按压时间,向手机发送android adb命令 ...

  8. 微信小游戏“跳一跳”,Python“外挂”已上线

    微信又一次不声不响地搞了个大事情: “小游戏”上线了! 于是,在这辞旧迎新的时刻,毫无意外的又火了. 今天有多少人刷了,让我看到你们的双手! 喏,我已经尽力了…… 不过没关系,你们跳的再好,在毫无心理 ...

  9. 用Python代码实现微信跳一跳作弊器

    最近随着微信版本的更新,在进入界面有个跳一跳的小游戏,在网上看到技术篇教你用Python来玩微信跳一跳 ( 转载自 " 工科给事中的技术博客 " ) 本文旨在总结,技术全靠大神完成 ...

随机推荐

  1. [20180810]exadata--豆腐渣系统的保护神.txt

    [20180810]exadata--豆腐渣系统的保护神.txt --//最近一段时间,一直在看exdata方面的书籍,我个人的感觉exadata并非善长oltp系统,能通过OLTP获得好处的就算ex ...

  2. mssql instead of 触发器应用一-创建只读视图(view)的方法

    转自: http://www.maomao365.com/?p=4906 <span style="color:white;background-color:blue;font-wei ...

  3. EOS与以太坊有哪些区别?

    以太坊是一个专门为开发和运行去中心化应用(DAPP)搭建的智能合约平台:EOS与以太坊类似,同样是基于智能合约和区块链而搭建.但是,从技术和设计理念等方面来看,这两者之间实际上存在明显的区别. 那么E ...

  4. linux局域网搭建yum仓库(本地(file)、网络(ftp、http))

    linux局域网搭建yum仓库(本地(file).网络(ftp.http)) yum配置文件解释: [ ]:定义仓库,base为仓库的名字,可任意 name:仓库的简短文字描述 baseurl:仓库的 ...

  5. 百度地图在web中的使用(一)

    百度地图在web中的使用(js) 背景:在公司做一个地理位置的自定义字段,需要用到地图来获取经纬度和地址,在这选择了百度地图 准备工作 注册百度地图开发者,创建应用获取key http://lbsyu ...

  6. C语言 统计一篇英文短文中单词的个数

    //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> #define N 1000 void main(){ ] ...

  7. C++_调用约束

    1.要求 声明定义处调用约定必须相同 int __stdcall add(int a, int b); int __stdcall add(int a, int b) {  return a + b; ...

  8. 【C编程基础】make命令和makefile文件

    1.关于程序的编译和链接 一般来说,无论是C.C++首先要把源文件编译成中间目标文件即 Object File(windows为.obj文件,unix为.o文件),这个动作叫做编译(compile). ...

  9. display:table-cell几种应用

    http://www.zhangxinxu.com/wordpress/2010/10/%E6%88%91%E6%89%80%E7%9F%A5%E9%81%93%E7%9A%84%E5%87%A0%E ...

  10. 基于mycat高可用方案——数据库负载

    引言 传统企业级应用一般采取单台数据库,吞吐所有应用的读写,随着互联网的高速发展,以及微服务架构越来越普及,往往采用分库分表来支撑高速增长的大量业务数据吞吐.分库分表主要有两种方式:水平分表和垂直分库 ...