继小编先前记录了有关NumPy库的相关基础知识,本文小编将来记录Matplotlib库基础。希望同学们能通过本文学习到Matplotlib库相关的基础知识。没有接触过的同学们可以跟我一起学习吧。
一、Matplotlib库的介绍
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。作为Python优秀的数据可视化第三方库,能制作各种另类的图并且还是自己想不到的。不去了解它的话,感觉(人生/数据)就显得很(单调/枯燥)了呀。
二、Matplotlib库的使用
Matplotlib库由各种可视化类构成,内部结构复杂,其中主要受到Matlab的启发。(MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。)
matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。导入Matplotlib的命令如下
其中“plt”是引入模块的别名同时也是Matplotlib开发者约定俗成的别名,所以建议同学们导入Matplotlib库的时候还是遵循这个方式命名。
三、pyplot的plot()函数
1、下面我们通过例子来介绍plot()函数。
例1、将数组[3,1,6,9,4]进行可视化。代码和结果如下
例2:将数组[1,2,3,4,5]作为X轴,[3,1,6,9,4]作为Y轴进行可视化。代码和结果如下
通过上面两个例子,同学们可以发现当plt.plot()只有一个输入列表或数组时,参数被当作Y轴,X轴以索引自动生成。
例3:在例子2的基础上,将可视化结果输出为png图片并保存。代码和结果如下
其中,plt.savefig()函数将输出图形存储为文件,‘example'为输出的图片名称,默认格式为PNG格式,参数dpi为修改输出图片的质量。
例4:将两数组可视化在同一窗口。代码和结果如下
注意:当绘制多条曲线时,各条曲线的x值不能省略,否则会出错。
2、plot()函数中的参数format_string
format_string是plot()函数的一个重要参数,由颜色字符、风格字符和标记字符组成。
以曲线为例,颜色字符可以将曲线设置为自己想要的颜色,比如红色'r'等等;风格字符可以将曲线设置为自己想要的风格,比如实线'-'等等;标记字符可以将曲线中的每个数据点设置为自己想要的标记,比如是实心圈'o'等等。
下面列出一些比较常用的一些字符可供同学们参考参考。
(1)颜色字符
(2)风格字符
(3)标记字符
下面我们通过例子来看看这些参数吧
例:绘制多条曲线并且颜色、风格和标记各不相同。代码和结果如下
颜色字符、风格字符和标记字符可以组合使用,也可以省略其中某种字符,若省略则系统会自动生成。通过上面三种字符的介绍,可以看出三种字符的组合是非常多的。同学们可以通过上面的字符参考表去绘制自己的图形吧,小编就不多举例了。
3、plot()函数中的**kwargs参数
kwargs参数很多,这里列举比较比较会用到的部分参数,如下
下面通过例子来看看这些参数的使用。
其实小编觉得,在一般情况下不需要那么复杂的去定义这些参数,用format_string就可以了,除非有特殊情况或者在特定情况下再去设定这些参数。
四、pyplot的中文显示
对于上面的介绍,单纯只生成图形没有对其进行外部的修饰,是不是感觉也没啥。那下面介绍一下有关pyplot的显示来生动形象图形吧。
1、中文显示方法一
由于pyplot不默认支持中文显示,需要rcParams修改字体实现中文显示。rcParams的属性如下
其中,对于属性'font.family',也有多种中文字体的种类,如下
下面通过一个实例来看看如何使用这些属性。代码和结果如下
2、中文显示方法二
上面的方法是设置rcParams的属性来中文显示,第二种方法则是在有中文输出的地方增加一个属性:fontproperties
让我们通过一个例子来了解如何使用这个属性,代码和结果如下
3、pyplot的文本显示函数
下面通过一个例子来了解如何使用这些文本显示函数,代码和结果如下
其中,对于plt.axis()同学们应该能通过图形观察出来,[-1,4]指的是X轴的长度,[-1,2]指的是Y轴的长度。对于plt.title()和plt.text()用到的'$....$',指的是在图形中加入一些函数表达式或者数学表达式,则写在两个$符之间,并且特殊字符前面要加''。同学们可以仔细领会领会。
在这里,小编所记录的东西虽然不是很全,但是作为Matplotlib入门的同学们,对于上面相关的基础知识还是要掌握的,之后再逐步学习库中相关的知识,加深对Matplotlib的理解和使用。欢迎同学们一起交流学习~
如果想更深入了解Matplotlib库相关应用,请参考其相关文档:https://matplotlib.org/gallery.html#api