第一部分:Matplotlib模块的简介

该模块是Python提供的一个第三方数据可视化模块,它有以下优点:
1:丰富的代码示例
2:使用Tex语法显示公式
3:精准的图像控制
4:高质量的图像输出
其中该模块的官方文档地址为:Matplotlib模块文档官网地址

使用之前先检查以下当前版本:

图形化编程 状态图 python python图形化模块_子图


如果版本跟不上的话可以直接在命令行更新:

pip install matplotlib -U

第二部分:基于函数的可视化操作

使用前导入相应模块:

图形化编程 状态图 python python图形化模块_Python_02

  • 函数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’

瘦菱形点

我们现在综合使用以下上面两个表东西,例如使用红色+圆点的组合:

图形化编程 状态图 python python图形化模块_三角函数_03


除了用上面表格来修改输出格式外,还可以通过修改linewidth和color参数改变线的宽度和颜色:

图形化编程 状态图 python python图形化模块_图形化编程 状态图 python_04

  • 使用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()方法的,例如下面这个例子:

图形化编程 状态图 python python图形化模块_子图_05


我们还可以把上面那个子图例子重新使用axes对象生成一遍,因为对于每个子图而言都是一个axes对象,那么可以使用plt.subplots()函数来得到figure对象和子图对应的axes对象数组,它的形式为:

fig,axes=plt.subplots(m,n),其中m是子图行数,n是列数

图形化编程 状态图 python python图形化模块_图形化编程 状态图 python_06

第四部分:图像中的文本处理

当数据可视化之后,我们希望能在这些图像进行一些标注,以便我们更好的理解和观看,该模块就提供了这样的文本处理方法,常用的方法和函数如下表所示:

函数

方法

作用

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语法书写并显示数学公式,例如下图

图形化编程 状态图 python python图形化模块_图形化编程 状态图 python_07


图形化编程 状态图 python python图形化模块_子图_08


可以看出$之间的部分被解释成了数学公式,一些常用的LaTex数学公式格式如下:

  • 使用"_“和”^"来分别产生上下标
  • 使用\frac{}{}形式产生分数,例如:
  • 让括号和内容一样大,使用\left和\right,例如:
  • 使用\sqrt[]{}的形式来产生根号,例如:

第五部分:基于三角函数的可视化

首先绘制一个正弦和余弦三角函数:

图形化编程 状态图 python python图形化模块_图形化编程 状态图 python_09


将x轴的刻度转化为圆周率表示法,这样就显得不那么奇怪:

图形化编程 状态图 python python图形化模块_三角函数_10


接着我们进一步转化,将数字变成圆周率的符号Π:

图形化编程 状态图 python python图形化模块_子图_11


最后我们通过plt.gca()函数得到Axes对象,通过这个对象对坐标轴进行平移得到我们熟悉的三角函数图:

图形化编程 状态图 python python图形化模块_数学公式_12


然后我们可以通过一个函数来标记并区分正弦和余弦函数:

图形化编程 状态图 python python图形化模块_三角函数_13


接下来我们还可以给关键的交点出标出信息:

图形化编程 状态图 python python图形化模块_三角函数_14


我们还可以给指定的区域进行上色:

图形化编程 状态图 python python图形化模块_图形化编程 状态图 python_15


最后可以改变图像的输出风格:

图形化编程 状态图 python python图形化模块_Python_16

python的基础就学到这里了,因为马上要实习了,出去工作还是用java的,所以我要开始取复习并且深入学习java了。不然我怕工作没人要啊