第一部分:Matplotlib模块的简介
该模块是Python提供的一个第三方数据可视化模块,它有以下优点:
1:丰富的代码示例
2:使用Tex语法显示公式
3:精准的图像控制
4:高质量的图像输出
其中该模块的官方文档地址为:Matplotlib模块文档官网地址
使用之前先检查以下当前版本:
如果版本跟不上的话可以直接在命令行更新:
pip install matplotlib -U
第二部分:基于函数的可视化操作
使用前导入相应模块:
- 函数plt.plot()的使用
其中plt.plot()方法的使用方式如下:
plt.plot(x,y,format_str),其中x和y表示x轴和y轴,后面的参数代表输出格式,x和y通常等长的列表或者一维数组,例如下面这个例子:(上图是指定其中一个参数了,没有指定另一个,默认是让另一个和指定的一样)
使用格式化字符后的效果,那么格式化的字符串入下表所示:
颜色控制符
字符 | 颜色 |
---|---|
‘b’ | 蓝色 blue |
‘g’ | 绿色 green |
‘r’ | 红色 red |
'c | 青色 cyan |
‘m’ | 品红 magenta |
‘y’ | 黄色 yellow |
‘k’ | 黑色 black |
‘w’ | 白色 white |
形状控制符
字符 | 类型 | 字符 | 类型 |
---|---|---|---|
‘-’ | 实线 | ‘–’ | 虚线 |
‘-.’ | 虚点线 | ‘:’ | 点线 |
‘.’ | 点 | ‘,’ | 像素点 |
‘o’ | 圆点 | ‘v’ | 下三角 |
‘^’ | 上三角 | ‘<’ | 左三角 |
‘>’ | 右三角 | ‘1’ | 下三叉点 |
‘2’ | 上三叉点 | ‘3’ | 左三叉点 |
‘4’ | 右三叉点 | ‘s’ | 正方点 |
‘p’ | 五角点 | ‘*’ | 星形点 |
‘h’ | 六边形点1 | ‘H’ | 六边形点2 |
‘+’ | 加号点 | ‘x’ | 乘号点 |
‘D’ | 实心菱形点 | ‘d’ | 瘦菱形点 |
我们现在综合使用以下上面两个表东西,例如使用红色+圆点的组合:
除了用上面表格来修改输出格式外,还可以通过修改linewidth和color参数改变线的宽度和颜色:
- 使用plt.axis()函数修改图形的坐标轴显示范围
函数格式如下:
plt.axis([xmin,xmax,ymin,ymax]),其中参数见名知义,例如我们绘制一个下面这样的图:
- 同时绘制多条曲线
利用这个plt.plot()函数还可以同时绘制多条不同的曲线,例如我们希望把一个数的平方和立方还有原数在一个范围内显示:
当然这些参数也可以分开来写,统一显示也可以达到相同的效果(原因是调用plt.show()方法之前,所有的图都是绘制在一个图上的):
- 图和子图
通过调用plt.figure(num)函数可以指定绘图操作作用于哪个图上,其中num代表作用图的编号,默认是1,如果省略该参数,那么之后的绘图操作就会在当前最高编号加1的新图进行绘制,例如下面这个例子:
子图的生成,同一张图可以分成多个子图进行绘制,我们利用plt.subplot()函数来将一张图切分成多个子图,例如下面这个例子:
plt.subplot(numrow,numclos,fignum)其中三个参数分别是子图行数、列数、对应的图
例如我们绘制一个2*1的图:
第三部分:基于对象的可视化操作
在该模块中,figure对象是最高级的对象。通过调用plt.figure()函数可以创建一个figure对象,让后用这个对象调用.add_axes()方法可以向图中添加Axes对象,这个axes对象是一个可以进行图像绘制的对象,用它调用.plot()方法是相当于plt.plot()方法的,例如下面这个例子:
我们还可以把上面那个子图例子重新使用axes对象生成一遍,因为对于每个子图而言都是一个axes对象,那么可以使用plt.subplots()函数来得到figure对象和子图对应的axes对象数组,它的形式为:
fig,axes=plt.subplots(m,n),其中m是子图行数,n是列数
第四部分:图像中的文本处理
当数据可视化之后,我们希望能在这些图像进行一些标注,以便我们更好的理解和观看,该模块就提供了这样的文本处理方法,常用的方法和函数如下表所示:
函数 | 方法 | 作用 |
---|---|---|
plt.text() | axes.text() | 在指定位置添加文本 |
plt.xlabel() | axes.xlabel() | 添加x轴标题 |
plt.ylabel() | axes.ylabel() | 添加y轴标题 |
plt.title() | axes.title() | 添加标题 |
plt.suptitle() | axes.suptitle() | 整张图的标题 |
plt.anotate() | axes.anotate() | 添加注释 |
Matplotlib支持使用LaTex语法书写并显示数学公式,例如下图
可以看出$之间的部分被解释成了数学公式,一些常用的LaTex数学公式格式如下:
- 使用"_“和”^"来分别产生上下标
- 使用\frac{}{}形式产生分数,例如:
- 让括号和内容一样大,使用\left和\right,例如:
- 使用\sqrt[]{}的形式来产生根号,例如:
第五部分:基于三角函数的可视化
首先绘制一个正弦和余弦三角函数:
将x轴的刻度转化为圆周率表示法,这样就显得不那么奇怪:
接着我们进一步转化,将数字变成圆周率的符号Π:
最后我们通过plt.gca()函数得到Axes对象,通过这个对象对坐标轴进行平移得到我们熟悉的三角函数图:
然后我们可以通过一个函数来标记并区分正弦和余弦函数:
接下来我们还可以给关键的交点出标出信息:
我们还可以给指定的区域进行上色:
最后可以改变图像的输出风格:
python的基础就学到这里了,因为马上要实习了,出去工作还是用java的,所以我要开始取复习并且深入学习java了。不然我怕工作没人要啊