本节主要解决在一个figure中放置多福图,以及图中一些注释文字的添加等问题。

先看一个效果图:

下面是实现代码:

__author__ = 'hust'
import numpy as np
import matplotlib.pyplot as plt def f(t):
return np.exp(-t) * np.cos(2 * np.pi * t) t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02) plt.figure(1) plt.subplot(2,1,1)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
plt.xlabel("independent variable")
plt.ylabel("dependent variable")
plt.title('top') plt.subplots_adjust(hspace=.5) plt.subplot(2,1,2)
plt.plot(t2, np.cos(2 * np.pi * t2), 'r--')
plt.annotate('just for example', xy = (3.0, np.cos(2 * np.pi * 3.0)),
xytext = (3.5, np.cos(2 * np.pi * 3.0) * 1.2),arrowprops=dict(facecolor='black', shrink=0.05)),
plt.xlabel('independent variable')
plt.ylabel('dependent variable')
plt.title('test') plt.show()

解释一下上面代码中用到的几个函数:

subplot(nrows, ncols, plot_number), nrows和ncols指定将图像分割成nrows * ncols个子图,plot_number标识具体是哪一个子图,

计算方式是从左至右,从上至下。

有时我们看到类似subplot(211)这种,是因为三个参数都不超过10,函数就支持省掉中间的逗号。

subplots_adjust(left=None, bottom=None, right=None, top=None,wspace=None, hspace=None)

我在前面调用的时候使用了关键字参数。这个函数用于设置子图之间的间隙,每个参数的含义很直观,可根据需要使用。

最后说下图中的文字,这个例子,使用了三种:

title, xlabel, ylabel。这三种是比较固定的

还有一种标注性的文字,可以指定标志点(箭头所指的点)和文字的位置,还能指定箭头的风格。

pyplot基本绘制(二)的更多相关文章

  1. 用Matplotlib绘制二维图像

    唠叨几句: 近期在做数据分析,需要对数据做可视化处理,也就是画图,一般是用Matlib来做,但Matlib安装文件太大,不太想直接用它,据说其代码运行效率也很低,在网上看到可以先用Java做数据处理, ...

  2. canvas绘制二次贝塞尔曲线----演示二次贝塞尔四个参数的作用

    canvas中绘制二次贝塞尔曲线的方法为ctx.quadraticCurveTo(x1,y1,x2,y2); 四个参数分别为两个控制点的坐标.开始点即当前canvas中目前的点,如果想从指定的点开始, ...

  3. matlab绘制二维图形

    常用的二维图形命令: plot:绘制二维图形 loglog:用全对数坐标绘图 semilogx:用半对数坐标(X)绘图 semilogy:用半对数坐标(Y)绘图 fill:绘制二维多边填充图形 pol ...

  4. 基于jquery类库的绘制二维码的插件jquery.qrcode.js

     jquery.qrcode.min.js 如下 (function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.d ...

  5. Winform中使用zxing和Graphics实现自定义绘制二维码布局

    场景 zxing.dll下载 https://download.csdn.net/download/badao_liumang_qizhi/11623214 效果 实现 根据上面文章中将简单的二维码生 ...

  6. java表格的使用 单元格绘制二

    JTable单元格是由单元格绘制器绘制出来的,这是一些执行TableCellRenderer接口的类.TableCellRenderer接口定义了唯一的getTableCellRendererComp ...

  7. amazeui+canvas绘制二维码

    <link rel="stylesheet" type="text/css" href="css/amazeui.min.css"/& ...

  8. pyplot基本绘制

    pyplot实现的功能与Matlab中的绘制方式很相似. 先看一个绘制折线的例子: import matplotlib.pyplot as plt plt.plot([1, 17, 8, 9]) pl ...

  9. Matlab——图形绘制——二维平面图形

    二维平面图形 hold on ————在已画好的图形上添加新的图形 plot 是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y 座标.下例可画出一条正弦曲线: > ...

随机推荐

  1. Spring AOP propagation七种属性值

    <!-- 配置事务通知 --> <tx:advice id="advice" transaction-manager="transactionManag ...

  2. 笔记7:winfrom的一些知识点(一)

    一.MDI窗体 private void 添加窗体ToolStripMenuItem_Click(object sender, EventArgs e) { Form2 frm1 = new Form ...

  3. 初学java之菜单条,菜单,菜单项的设置

    package project; import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.InputEv ...

  4. 如何在Objective-C中实现链式语法

    在接触到开源项目 Masonry 后,里面的布局约束的链式写法让我颇感兴趣,就像下面这样: 1 2 3 4 5 6 7 8 UIEdgeInsets padding = UIEdgeInsetsMak ...

  5. vue.js——初体验

    看到最近很火的vue.js,于是开启了自己人生中首篇翻译之路,才意识到这个纯英文版的的确没有中文的通俗易懂~~~~~~不过, 还是硬着头皮把这篇英文版的博客给翻译完了,希望可以帮助自己的同时也方便别人 ...

  6. 使用openssl库实现RSA、AES数据加密

         openssl是可以很方便加密解密的库,可以使用它来对需要在网络中传输的数据加密.可以使用非对称加密:公钥加密,私钥解密.openssl提供了对RSA的支持,但RSA存在计算效率低的问题,所 ...

  7. Linux Mysql 1130错误解决

      今天在win32下通过navicat 远程登录Mysql时出现如下错误:     想都不用想,肯定是Mysql的访问权限问题.   首先,通过终端(我用的是SSH)远程登录到Linux服务器,为了 ...

  8. 简单模拟QQ界面框架。

    package com.lixu.qqjiemian; import java.util.Timer; import java.util.TimerTask; import android.app.A ...

  9. iOS各种动画效果

    ios各种动画效果 最普通动画: //开始动画 [UIView beginAnimations:nil context:nil];  //设定动画持续时间 [UIView setAnimationDu ...

  10. Countries in War (POJ 3114) Tarjan缩点+最短路

    题目大意: 在一个有向图中,每两点间通信需要一定的时间,但同一个强连通分量里传递信息不用时间,给两点u,v求他们最小的通信时间.   解题过程: 1.首先把强连通分量缩点,然后遍历每一条边来更新两个强 ...