在开始前我们还是老样子,先介绍下我们所要用到的第三方库Numpy模块和Matplotlib模块
(1)Numpy模块
Numpy模块是python用于进行科学计算的基础模块,针对的是严格的数据处理操作。Numpy模块的主要处理对象是同种元素的多维数组,可以对常用的数学函数进行数组化处理,使这些函数能够对数组进行直接运算。
(2)Matplotlib模块
Matplotlib模块是基于Numpy模块的一套丰富的数据绘画模块,具体来说是pylab和pyplot这两个子库,Matplotlib模块主要用于绘制一些统计图形,如折线图,散点图,饼图等,并以多种格式进行图形/图像输出,同时Matplotlib模块还带有简单的三维绘图功能。
好了简单介绍完后,我们开始用python绘图,我们先从简单的开始给予点坐标绘制图像
先导入一个必要的模块
import matplotlib.pyplot as plt
导入完后我们设置点坐标
plt.plot([1,1,4,10,2],[4,1,6,5,6])#X轴在前Y轴在后
注:plt.plot([1,1,4,10,2],[4,1,6,5,6])前面代表X轴坐标,后面代表Y轴坐标,如果只有一组数据则表示为Y轴坐标,而X轴的坐标则是根据设置Y轴坐标的数量而定
完成后我们需要把这个图像展示出来
lt.show()
结果如下:
我们还可以完善下这张图标比如给它加个标签 ,这时我们就可以在设置完数据后加入plt.ylabel()和plt.xlabel()这两个函数
plt.xlabel('Grade')
plt.ylabel('abscissa')
改进后的结果如下:
至此最简单的绘图就完成了,但万一我们需要数据比对呢,不可能一个数据一张图吧,确实如此,因此需要我们把多个数据放在一张图上进行比较,这时我们不单单需要Matplotlib模块还需要Numpy模块来进行多组数据处理。步骤与刚刚的差不多先导入第三方库:
import numpy as np
import matplotlib.pyplot as plt
接着设置X,Y轴的坐标,与刚刚唯一不同的是这次需要我们设置多组数据这时需要用到np.arange()
这个函数。
np.arange():返回一个有终点和起点的固定步长的排列,如np.arange(n),那么起点是0,终点是n-1,步长为1。np.arange()函数分为一个参数,两个参数,三个参数三种情况例:
#一个参数 默认起点0,步长为1 输出:[0 1 2]
np.arange(3)
#两个参数 默认步长为1 输出[3 4 5 6 7 8]
np.arange(3,9)
#三个参数 起点为0,终点为3,步长为0.1 输出[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9]
np.arange(0, 3, 0.1)
了解之后我们接着上步
a=np.arange(10)#数组列表取整数值
plt.plot(a,a*1.5,'ro-',label='a')#第一个字母代表颜色
plt.plot(a,a*2.5,'gH--',label='b')
plt.plot(a,a*6.5,'y*',label='c')
plt.plot(a,a*4.5,'bs-',label='d')
plt.plot(a,a*3.5,'mH-',label='e')
这里我给大家解释下以plt.plot(a,a*1.5,'ro-',label='a')这条为例a,a*1.5代表的是X,Y轴的坐标,后面r代表的是颜色,o代表的是标记,-代表的是风格这里我给大家罗列出来了一些
颜色字符 | 说明 | 颜色字符 | 说明 |
'b' | 蓝色 | 'm' | 洋红色 |
'g' | 绿色 | 'y' | 黄色 |
'r' | 红色 | 'k' | 黑色 |
'c' | 青绿色 | 'w' | 白色 |
'#008000' | RGB某颜色 | '0.8' | 灰度值字符串 |
风格字符 | 说明 |
'-' | 实线 |
'--' | 破折线 |
'-.' | 点划线 |
':' | 虚线 |
' ' ' ' | 无线条 |
标记字符 | 说明 | 标记字符 | 说明 | 标记字符 | 说明 |
'.' | 点标记 | '1' | 下花三角标记 | 'h' | 竖六边形标记 |
',' | 像素标记(极小点) | '2' | 上花三角标记 | 'H' | 横六边形标记 |
'o' | 实心圈标记 | '3' | 左花三角标记 | '+' | 十字标记 |
'v' | 倒三角标记 | '4' | 右花三角标记 | 'x' | x标记 |
'^' | 上三角标记 | 's' | 实心方形标记 | 'D' | 菱形标记 |
'>' | 右三角标记 | 'p' | 实心五角标记 | 'd' | 瘦菱形标记 |
'<' | 左三角标记 | '*' | 星形标记 | '|' | 垂直线标记 |
最后用刚刚的代码把图像显示结果如下
最后我们为它加个图例通过plt.legend()来实现结果如下: