1)Matplotlib库介绍:
Matplotlib是Python的一个2D绘图库,利用它可以在各个平台绘制出许多高质量的图形,我们可以用Matplotlib生成绘图、条形图、饼状图,还可进行简单动制作。通常与Numpy库共同使用,在数学建模中是一种常用于替代MATLAB软件的方案。
2)Matplotlib库的概述:
Matplotlib是一个绘制2D和3D科学图像的软件库,具有如下特点:
1.易于学习与掌握;2.兼容LaTeX格式的标题与文档;3.可以对图像的每一个元素进行控制,包括图像大小和扫描精度;4.对于许多格式都可高质量输出,如:png,pdf,svg,eps,pgf等;5.可以生成GUI,做到交互式的获取图像以及一键生成图像文件。
3)Matplotlib库及Numpy库的安装:
Matplotlib是第三方库,要使用该库,必须先安装,下面是安装步骤:
在Windows系统下按住"Win+R",输入“cmd”后,回车,即可打开Windows命令行程序,然后输入 pip install matplotlib,然后回车,就会开始安装Matplotlib库,Numpy库的安装方法相同
4)Matplotlib与图形绘制:
利用Matplotlib库绘制图形和制作动画,其实主要是利用Matplotlib库中的pyplot 模块实现的。
pyplot模块中的几个重要方法与应用举例:
1. figure()方法:
figure()方法用于创建一个图形对象:figure(num=None, figsize=None, dpi=None, facecolor=None,edgecolor=None, frameon=True)
参数说明:
num:指定绘图对象的编号或名称,数字为编号,字符串为名称。
figsize:指定绘图对象的宽和高,单位为英寸。
dpi:指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80.
facecolor:指定绘图对象的背景颜色。
edgecolor:指定绘图对象的边框颜色。
frameon:指定绘图对象是否显示边框。
“举个栗子”
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1,41)
y = 1/(1+8*x)
plt.figure(figsize=(8,3),dpi=100,facecolor="pink")#创建图形对象
plt.plot(x,y)#在图形对象中绘图
plt.show()#显示图形
2. plot()方法:
plot()方法用于绘制线条或绘制标记的轴,plot(*args, **kwargs)
参数是一个可変长参数,允许多个X,Y对及可选的格式字符串(即下表中的字符)。
样式的字符与描述:
字符 | 意义 |
---|---|
‘-’ | 实线 |
‘–’ | 短横线 |
‘-.’ | 点画线 |
‘:’ | 虚线 |
'. | 点标记 |
‘,’ | 像素标记 |
‘o’ | 圆标记 |
‘v’ | 倒三角标记 |
‘^’ | 正三角标记 |
‘<’ | 左三角标记 |
‘>’ | 右三角标记 |
‘1’ | 下箭头标记 |
‘2’ | 上箭头标记 |
‘3’ | 左箭头标记 |
‘4’ | 右箭头标记 |
‘s’ | 正方形标记 |
‘p’ | 五边形标记 |
‘*’ | 星形标记 |
‘h’ | 六边形标记1 |
‘H’ | 六边形标记2 |
‘+’ | 加号标记 |
‘x’ | X标记 |
‘D’ | 菱形标记 |
‘d’ | 窄菱形标记 |
‘|’ | 竖直线标记 |
‘_’ | 水平线标记 |
颜色的字符与描述:
字符 | 颜色 |
---|---|
‘b’ | 蓝色 |
‘r’ | 红色 |
‘g’ | 绿色 |
‘c’ | 青色 |
‘m’ | 品红色 |
‘y’ | 黄色 |
‘k’ | 黑色 |
‘w’ | 白色 |
参数说明:
*args
:用来设置绘制线条或标记轴的变量。
**kwargs
:用来设置绘制线条或标记的样式和颜色。
举个栗子:
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(-501,501)
y = 2*x**3-3*x**2+1
plt.figure()
plt.plot(x,y,'*r')#绘制图形字符样式为*号,颜色为红色
z = 2*x-1
plt.plot(x,z,'+b')
plt.show()
3. subplot()方法:
pyplot模块中的subplot()方法可以将图形对象分成很多不同的区域,这样的话就可以在不同的区域中绘制不同的图形。subplot(nrows, nclos, plotNum)
注意:每条subplot命令只会创建一个子图。
参数说明:
nrows
:subplot的行数。
nclos
:subplot的列数。
plotNum
:指定的区域。
subplot将整个绘图区域等分位nrows
行Xnclos
列各子区域,并且按照从左到右、从上到下的顺序对每个子区域进行编号,左上角的子区域编号为1。如果subplot方法的三个参数均小于10的话,可以省略之间的逗号,如 subplot(4,6,3)
等价于subplot(463)
。subplot在plotNum指定的区域中创建一个轴对象,如果新创建的轴与之前创建的重叠的话,之前的轴将被删除。
举个栗子:
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(0,4*np.pi,0.1)#创建一维数组变量x,0,4π,间隔为0.1
y = x**(1/2)
z = np.cos(x)
w = np.sin(x)
h = 3*x-1
plt.figure(facecolor="green",figsize=(8,3),dpi=100,num="分区域绘制函数图像")
plt.subplot(2, 2, 1)
plt.plot(x,y,"+b")
plt.subplot(2, 2, 2)
plt.plot(x,z,":b")
plt.subplot(2, 2, 3)
plt.plot(x,w,"*b")
plt.subplot(2, 2, 4)
plt.plot(x,h,"<b")
plt.show()
add_axes()方法:
Matplotlib库中的add_axes方法用于在当前图形中添加一个新的坐标轴。通过指定左下角的位置和宽度、高度来定义新坐标轴的位置和大小。这个方法返回一个Axes对象,可以使用它来绘制数据,并进行其他操作,如设置坐标轴标签、刻度等属性。
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(0,26)
y = x**2-1
fig = plt.figure(facecolor="green")
plt.plot(x,y,"+r")
left = 0.2#水平位置的百分比
bottom = 0.6#垂直位置的百分比
width = 0.25#宽度的百分比
height = 0.25#高度的百分比
myaxes1 = fig.add_axes([left,bottom,width,height])
myaxes1.plot(x,y,"*y")
myaxes2 = fig.add_axes([0.66,0.2,0.2,0.12])
myaxes2.plot(x,y,"^g")
plt.show()
更多详情,请看下回分解!睡觉睡觉