Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。可以用来绘制各种静态,动态,交互式的图表。
Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API,是常用的绘图模块,能很方便让用户绘制 2D 图表。
包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。
使用的时候,需要导入:
import matplotlib.pyplot as plt
以下实例,我们通过两个坐标 (0,60) 到 (0,100) 来绘制一条线:
import matplotlib.pyplot as plt
#导入matplotlib库
import numpy as np
#导入numpy库(通常与matplotlib库一起使用,是一个强大的科学计算环境,学习数据分析与机器学习大有用处)
x_points = np.array([0, 60])
#设置X轴的坐标
y_points = np.array([0, 100])
#设置Y轴的坐标
plt.plot(x_points, y_points)
#使用了 Pyplot 的 plot() 函数绘制二维图形。
plt.show()
#别忘记让图片显示出来
plot() 用于画图它可以绘制点和线,语法格式如下:
# 画单条线
plot([x], y, [fmt], *, data=None, **kwargs)
# 如果画多条线
plot([x], y, [fmt], [x1], y1, [fmt1], ..., **kwargs)
x, y:点或线的节点,x 为 x 轴数据,y 为 y 轴数据,数据可以列表或数组。
fmt:可选,定义基本格式(如颜色、标记和线条样式)。
**kwargs:可选,用在二维平面图上,设置指定属性,如标签,线的宽度等。
>>> plot(x, y) # 创建 y 中数据与 x 中对应值的二维线图,使用默认样式
>>> plot(x, y, 'bo') # 创建 y 中数据与 x 中对应值的二维线图,使用蓝色实心圈绘制
>>> plot(y) # x 的值为 0..N-1
>>> plot(y, 'r+') # 使用红色 + 号
线型参数:'‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。
标记字符:'.' 点标记,',' 像素标记(极小点),'o' 实心圈标记,'v' 倒三角标记,'^' 上三角标记,'>' 右三角标记,'<' 左三角标记...等等。
如果我们要绘制坐标 (2, 3) 到 (9, 11) 的线,我们就需要传递两个数组 [2, 9] 和 [3, 11] 给 plot 函数:
import matplotlib.pyplot as plt
import numpy as np
x_points = np.array([2, 9])
y_points = np.array([3, 11])
plt.plot(x_points, y_points)
plt.show()
如果只是想绘制2个点,不需要连线,可以加入'o'参数,将上面代码plt.plot(x_points, y_points)改为plt.plot(x_points, y_points,'o')即可:
也可以绘制多点线图,将其中代码改为:
x_points = np.array([1, 2, 6, 8])
y_points = np.array([3, 8, 1, 10])
可得到如下结果:
以下代码可以得到正弦值曲线:
import matplotlib.pyplot as pltimport numpy as npx = np.arange(0,4*np.pi,0.1)#start,stop,step
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,x,z)
plt.show()
将其中plt.plot(x,y,x,z)修改为plt.plot(x,y,x,z,'o:r')将得到下面图形:
'o:r'中:o 表示实心圆标记,: 表示虚线,r 表示颜色为红色。
请尝试将以上代码改为:
plt.plot(x,y,x,z,'o:r',ms=20,mec='black',mfc='b')
看看效果怎么样?(以上实例在python3环境运行完成调试)
想一想:为什么只有一根曲线受到参数的影响呢?