说起这个Python的可视化操作,Matplotlib库是一个绕不开的选择,甚至说可视库的鼻祖也不为过,但是一开始学习的时候是看着别人的博客或者demo修改一下,反正程序和我能跑一个就行,但是随着学习的深入,我对图形的要求变高,(其实是,需求太古怪,没有现成的作业可以抄了,只能自己写了),那这个首选的学习资料就是官网了,以前不回看这个东西,现在学的东西多了,反过来看这个东西,嘿!文档真香啊。
而且也反思了一下,如今学习也不要从什么博客开始了,直接从官网的文档看起,这才是知识之源。
如果你是对某个API不懂的话,那你直接可以搜索这个API来看使用的方法,也是这篇文章大部分写的内容,如果你是一个小白,也推荐在官网进行学习。
https://matplotlib.org/stable/plot_types/index.html
先打开库的官网,其实是打开我给的链接,你可以看见大量的已经绘制好的图:
大概就是这个样子
当你打开一个demo以后,会出现这个,你如果看不懂这些的意思,你点击这些位置回打开一个新的窗口来说明。
我这里就直接贴一个 生成X散列的函数,上面是这个函数调用的时候可以输入的所有参数,下面是简短的一句话来说明这个函数的作用,以及函数在各个版本之间有没有什么变化。下面的就是详细的参数意思了。
下面就是plot的函数了:
有没有发现一个小东西,*,这个是什么意思?
卡着就是这个~
我们看一个语言,等号前面的是返回值
返回的参数
一种惯用法,一般是按照你的字图的个数来处理
比如我们先写一个图的函数,一个ax就办事了。但是这里也要注意,有时候你不知道到底是返回了几个值,所以要首选axs这样的复数写法。
使用[],来定位要绘制的位子哈
那可以看看两个子图和四个子图的设置方法,ax这个无所谓就是个名字而已,但是还是建议写这个。
对于子图来说,都是一个坐标轴里面,那这个轴共用不?其实是个问题,这了你可以设置一下。
可以看到都是设置的ax这个,这个是什么呢?其实就好像是一种修饰一样。
可以看到是继承的艺术家,其实就是让图更加的好看,参数上面也很丰富。
你看这个参数,一开始其实是要一个画布,接着是这个Axes的位置,就好像是一块感兴趣的区域一样。接着就是设置要不要互相共享关于轴的一切。
其实axes就是一个有数值范围的绘图区域。
简单的绘制一个,fig是我们的最大的绘图区域,add把一个要绘制的区域加进去,就好像是注册一样的感觉,接着就是在这个区域随心所欲的写入了。
绘制的方法就是这样的
真的是太丰富了,都学完就大佬了
我们来看一个最常见的函数,plot,也是我们学习的起点。
看API,先看参数是啥情况:
你看,继承至Axes
参数是要传一对儿一对儿的元组,确实使用的时候是这样.
官方的文档有个优点,可以直接看到这个源码
对比文档就知道,doc是注释生成的
'go--', linewidth=2, markersize=12) > plot(x, y,
'green', marker='o', linestyle='dashed', > plot(x, y, color=
... linewidth=2, markersize=12)
关于线的样子的设置有两种方法,一直是用fmt,我没有查到是什么意思,大概就是简写。还有就是关键字的参数,一个一个的写出来,而且是可以混用的,这点就比较舒服。
如果两个参数写的冲突咋办?关键字优先~
'bo') > plot(x1, y1,
'go') > plot(x2, y2,
绘制多组的图。
这里是绘制的2D的数组,你可以看到X,Y其实不是一模一样的,那就需要做更改,或是只是对(N,m),另一个长度必须为N这么长,而且给m的每一个都计算
1, 2, 3] > x = [
1, 2], [3, 4], [5, 6]]) > y = np.array([[
> plot(x, y)
这个是一个惯用的样子,其实还有:
for col in range(y.shape[1]):
plot(x, y[:, col])
解包是这样的
Look
或是直接给
还有一种将多个绘制的图像放在一起的。
'g^', x2, y2, 'g-') > plot(x1, y1,
而且这也是一种常见的做法
对于一个库来讲,可以说的太多了,路漫漫其修远兮,加油!
另外,俺终于有了冰墩墩~