matploblib是python第三方库,能对数据进行可视化
注:可能有人对第三方库不是太懂,如果把 Python比作甲方, 用户为乙方, 其它人就是第三方,第三方库就是第三方创建的. 这样说可能不太准确,大概就是这个意思.
在Python语言的库中,分为Python标准库与Python第三方库. Python的标准库是随着Python安装时默认自带的库(比如math库),Python的第三方库,需要下载后安装到Python的安装目录下,不同的第三方库安装及使用方法不同,但它们的调用方式是一样的,都要通过import语句进行调用. (比如:import matplotlib).
其实刚用matplotlib的时候,觉得还是挺简单的,一两句程序差不多就可以简单画一张可视化图像.
下面是一段代码,显示图像的直方图,其实真正用于画图就是plt.hist()语句,plt.show()只是用来显示图像.
import
![bb61499d24013805269749b4f1b5ca94.png](https://i-blog.csdnimg.cn/blog_migrate/8f88bbf3897f925e2eb181e2378f127c.png)
挺简单的吧,但是当你对图像进行细调时(比如修改坐标轴的刻度,字体大小等等),如果你没有一个清晰的思路,就比较难搞啦,只能上网查询,有时候对同一问题,你会查到许多不同的方法,最后自己都有点懵,不知道该怎么搞,之所以会这样,是因为对matplotlib整体框架不太懂,所以学习首先得大致了解事物的一个整体框架(哈哈,其实说起来简单,做起来挺难...).
matplotlib对问题有许多不同的方法,这也是最让人头疼的地方,比如:加标题:
plt.set_title("title") # 可以用
plt.title.set_text("title") # 也可以用
ax.set_title("title") # 还是可以用
到底该用哪一个呢?如果有点懵,很正常...
为了不那么懵,我们现在从根本上了解matplotlib的架构,各种名词的解释,一个正常的画图流程.
matplotlib可视化有两种形式:plt.***和ax.***
1. plt.*** 形式
plt.figure(): plt.***系列. 通过http://plt.xxx来画图,其实是取了一个捷径,这是matplotlib提供的一个api,这个plt提供了非常多基本的funtion,可以让你很快的画出图来(我上面的那个例子就是如此),但是,如果想要更精致的调节,就要用到另外一种方法.
# 一系列plt操作,大家不用太纠结下面代码是什么意思,看到后面自然就会明白.
plt.figure(1)
plt.subplot(211)
plt.plot(A, B)
plt.show()
大部分教程,都是从http://plt.xxx开始的(简单易懂上手快). plt把matplotlib的结构看成是一个blackbox,新手不知道这个lib是如何运行情况下,以为自己已经学得很不错了,可是当你需要对坐标轴等对象精细调节时,却发现困难重重. 这样不利于长期的发展,所以刚开始学习应当尽量避免plt.***系列,当然如果你想要简单的制作一个quick and dirty的可视化图像时,用plt.***还是可以的.
2. fig, ax = plt.subplot() 形式
如果把plt.***系列比喻"小三",这个就是"正房"啦.
这是正统并且稍微相对复杂一点的画图方法. 指定figure和axes,然后对axes单独操作. (等下再解释figure和axes的意思).
fig, ax = plt.subplots()
ax.plot(A, B)