matplotlib入门基础(七)入门总结

matplotlib入门基础系列的前六篇博客,将官网这张图里的各种元素(除去spine)作为入门内容,把相应的函数的基础用法介绍了一遍

(图片来源于最新版官网:Basic Usage — Matplotlib 3.5.2 documentation

内容包括

figure/axes/图元素的关系,面向对象风格和pyplot风格
matplotlib入门基础(一)figure相关的基本概念以及创建一个图

创建子图(axes)
matplotlib入门基础(二)创建子图

画线(line)和标记(marker)
matplotlib入门基础(三)画线和标记

设置图标题(title)和轴标签(xlabel,ylabel)
matplotlib入门基础(四)图标题和轴标签

设置轴坐标范围、轴刻度比例、轴刻度(xtick,ytick)
matplotlib入门基础(五)轴坐标范围 轴刻度比例 轴刻度​​​​​​​)

设置网格(grid)、图例(legend)、图片保存
matplotlib入门基础(六)网格 图例 图片保存​​​​​​​)

其中,前三篇博客介绍的内容为用matplotlib画图的最基本内容,也就是根据数据画出数据线,后三篇博客介绍的内容以前三篇博客的内容为基础,可以看做是画装饰性的元素。

另外,给出个人总结(也可以说是注意事项),供互相学习

1. 实现同一功能有多种函数可用

例如,代码的面向对象风格和pyplot风格,面向对象风格,先建立figure和axes,再调用axes里的函数,pyplot风格,直接调用pyplot里的函数

例如,设置x轴的刻度时,可以用axes.set_xticks(),也可以用axes.xaxis.set_ticks(),也可以用axes.get_xaxis().set_ticks()
(原因:找到原始代码可以发现,axes.set_xticks()其实是xaxis调用set_ticks()axes.get_xaxis().set_ticks()其实是返回axes的xaxis再调用set_ticks(),所以三者本质上都是axes里的xaxis调用set_ticks()

这种现象的原因的个人理解(可以类比理解其他功能重复的函数):
函数的嵌套,比如函数A内部仅仅是调用函数B而已,并没有增加额外的功能,那么实际上函数A就是函数B的别名,函数A函数B都能实现函数B的功能

2. 某些函数可能存在扩展参数,这些参数也可以设置

例如,Axes.plot()包含Line2D属性参数
matplotlib.axes.Axes.plot — Matplotlib 3.5.2 documentation

例如,Axes.set_title()包含Text属性参数
matplotlib.axes.Axes.set_title — Matplotlib 3.5.2 documentation

最好在官网查看完整参数

3. 在同一函数里,设置某项参数的方法可能不唯一

例如,Axes.plot()函数里,可以用fmt设置标记形状、线型、线的颜色,也可以用marker、linestyle、color参数分别设置标记形状、线型、线的颜色

例如,Axes.set_title()函数里,可以用fontdict以字典的形式设置字体参数,也可以用Text属性参数设置字体参数

4. 不同版本下的函数参数可能有少量不同

例如,Axes.set_xticks()函数
在3.4.0版中
Axes.set_xticks(self, ticks, *, minor=False)
matplotlib.axes.Axes.set_xticks — Matplotlib 3.4.0 documentation
在最新版中,多出一个labels参数
Axes.set_xticks(ticks, labels=None, *, minor=False, **kwargs)
matplotlib.axes.Axes.set_xticks — Matplotlib 3.5.2 documentation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值