可以使用matplotlib包在对数据绘制图形。导入包语句为:

import matplotlib.pyplot as plt

使用pyplot库可以方便的绘制出2D图形.绘制图像的基本步骤:

fig=plt.figure()#绘制新建窗口,独立显示绘画图片
ax=fig.add_subplot(111)#:设置画布划分以及图像在画布上输出的位置
ax.scatter()
ax.plot(x,y)
plt.xlabel('x1')
plt.ylabel('x2')
plt.show()

fig.add_subplot()函数:

在python中可以把光标订位在这个函数,按下ctrl+shift+I可以查看这个函数的文档帮助。参数(r,c,l)r代表行,c代表列,l代表绘制该图像在r*c画板中对应的位置.还有一些可选参数:
- facecolor=’r’代表将背景色设置为红色
- projection=’polar’ 在所选位置中绘制极坐标

fig.add_subplot(3,2,1)和fig.add_subplot(321)等价

.scatter()函数


我的理解是ax.scatter(x坐标的数据集合,y坐标数据的集合,c=’点的颜色’,marker=’绘制这些点的图形’)

.plot()函数和.axis()

.plot()函数可以绘制直线,plot(x的集合,y的集合(关于x的运算)),若是线性关系就可以自动生成一条直线。函数返回值也是一条直线.plot()函数可以同时画几条线,例如plt.plot(t, t, t, t**2, t, t**3)
.axis()函数给出了形如[xmin,xmax,ymin,ymax]的列表,限定了坐标轴的范围。
贴图不是很方便,自己运行一下看一下效果。

import numpy as np
import matplotlib.pyplot as plt
fig=plt.figure()
ax=fig.add_subplot(2,2,2)
x=np.arange(10)
ax.plot(x,x*2)
ax.axis([0,10,0,20])
plt.xlabel('x1')
plt.ylabel('x2')
plt.show()

.setp()函数

可以对直线进行设置(颜色,宽度),自己运行一下可以看一下效果。

lines=ax.plot(x,x*2)
plt.setp(lines, color='r', linewidth=2.0)

为图像添加文本

  • plt.xlabel(‘文本’)#在x轴加文本
  • plt.ylabel(‘文本’)#在y轴加文本
  • plt.title(‘文本’)#对文本加标题
  • plt.text(x坐标,y坐标, ‘文本’)#在图中位置加文字