pyplot基本绘制(二)

本节主要解决在一个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。这三种是比较固定的

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

时间: 2024-08-05 10:22:00

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

用Matplotlib绘制二维图像

唠叨几句: 近期在做数据分析,需要对数据做可视化处理,也就是画图,一般是用Matlib来做,但Matlib安装文件太大,不太想直接用它,据说其代码运行效率也很低,在网上看到可以先用Java做数据处理,然后调用Matlib来画图,另外,还可以使用Matplotlib,它是用Python写的类似Matlib的库,能实现Matlib的功能,而且画图的质量很高,可用于做论文发表.找了一天的资料,终于出图了. Matplotlib需要配合numpy,scipy才能使用,具体安装步骤稍后补充. 正文: 用M

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

canvas中绘制二次贝塞尔曲线的方法为ctx.quadraticCurveTo(x1,y1,x2,y2); 四个参数分别为两个控制点的坐标.开始点即当前canvas中目前的点,如果想从指定的点开始,需要使用ctx.moveTo(x,y)方法 演示效果如下图 上代码: html <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title

绘制二次三次曲线多次曲线

说明:大于一的幂级数与陡峭程度正相关,小于一的幂级数相当于曲线顺时针旋转90°,底数增减的量决定在横轴的平移. <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <title>绘制二次三次曲线多次曲线</tit

pyplot基本绘制

pyplot实现的功能与Matlab中的绘制方式很相似. 先看一个绘制折线的例子: import matplotlib.pyplot as plt plt.plot([1, 17, 8, 9]) plt.ylabel("some numbers") plt.show() 可以发现,由于我们只给了一个一维数组,plot函数把数组索引当成了横坐标,默认会把所有的点有直线连接起来. 可以补全横轴如下: plt.plot([2, 3, 4, 5],[1, 17, 8, 9])#第一个参数指定了

amazeui+canvas绘制二维码

<link rel="stylesheet" type="text/css" href="css/amazeui.min.css"/> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="j

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

二维平面图形 hold on ————在已画好的图形上添加新的图形 plot 是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y 座标.下例可画出一条正弦曲线: >> x=0:0.001:10; % 0 到10 的1000 个点的x 座标 y=sin(x); % 对应的y 座标 plot(x,y); % 绘图 改变颜色 >> plot(x,y,'k') 改变颜色的同时改变图线形态 >> plot(x,y,'k*')  同时画两个函数[淡粉色

绘制二维图形的其它方案

1 其他形式的线性直角坐标图 在线性直角坐标系中,其他形式的图形有条形图.阶梯图.杆图和填充图等,所采用的函数分别是:bar(x,y,选项)%条形图 stairs(x,y,选项)%阶梯图 stem(x,y,选项)%杆图 fill(x1,y1,选项1,x2,y2,选项2...)%填充图前3个函数的用法与plot函数相似,但没有多输入变量形式.fill函数按向量元素下标渐增次序用直线段连接x,y对应元素定义的数据点.假如这样连接所得拆线不封闭,那么MATLAB将自动 把该 拆线的首尾连接起来,构成封

occ 中绘制二维矩形

在屏幕上绘制一个二级矩形 #include <Visual3d_Layer.hxx> #include <V3d_LayerMgr.hxx> #include <Visual3d_ViewManager.hxx> #include "FTFont.h" #include "FTGLBitmapFont.h" class V3d_TextItem : public Visual3d_LayerItem { public: V3d_T

pyplot饼图绘制

plt.pie() 1 import matplotlib.pyplot as plt 2 3 labels = 'Frogs','Hogs','Dogs','Logs' 4 size = [15,30,45,10] 5 explode = (0,0.1,0,0) 6 7 plt.pie(size,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90) 8 9 plt.axis('equal') 10