python之matplotlib (1 介绍及基本用法)

介绍

matplotlib是Python中的一个绘图库,它提供了一个类似于 MATLAB 的绘图系统。使用matplotlib你可以生成图表、直方图、功率谱、条形图、错误图、散点图等。matplotlib广泛用于数据可视化领域,是 Python 中最著名的绘图库之一。

同样matplotlib的安装也和numpy和pandas一样,具体语言如下:(在电脑终端执行)

python 复制代码
python -m pip install --user matplotlib

基本用法

利用matplotlib绘图方法很多,网上的方法也是各种各样,起初我看到这些方法很头疼,并不明白为何这样画。其实,对于各种绘图方法来说,只需掌握其内在的逻辑你就会明白不同方法的内涵。

我总结了网上绘图常见的四种方法,如下:

python 复制代码
import matplotlib.pyplot as plt

x=[1,4,9,16,25]

#第一种方法
plt.figure()
plt.plot(x)

#第二种方法
fig=plt.figure()
ax=plt.gca()
ax.plot(x)

#第三种方法
fig=plt.figure()
ax=fig.add_axes([0.1,0.1,0.7,0.7])
ax.plot(x)

#第四种方法
fig,ax=plt.subplots()
ax.plot(x)

plt.show()

这四种方法起到的作用大致上是相通的。

第一种方法:plt.figure()是起到了开辟一个窗口的作用,这个窗口里面什么都没有,仅仅是一个窗口。plt.plot()是在这个窗口中进行画图,在画图之前系统**默认给它分配了(即默认创建)**一个二维坐标轴平面,这个图像最终在这个坐标轴中呈现。

第二种方法:同样,plt.figure()开辟了一个窗口,同时将这个窗口赋给了变量fig。plt.gca()(get current axes)的作用是在当前的窗口中捕捉坐标轴平面,将这个坐标轴平面赋给变量ax。(如果当前窗口中没有,那就建立一个新的)然后在ax中进行作图,即ax.plot()

第三种方法:第三种方法和第二种方法很相似,ax=fig.add_axes([ ])的作用就是创建一个坐标轴,第一种方法在这里是省掉了,系统默认创建了一个,第二种虽说是多了一句但是是捕捉坐标轴,因为本身就没有所以归根结底还是创建了一个,这种方法就是明着说要创建一个坐标轴。

第四种方法:这个方法比较简单省事,一句话干了两句话的事。plt.subplots()是建立了一个窗口,而此窗口并未简单的彼窗口,subplots可以在这个窗口中布置子图的格局,换句话说如果你想在一个窗口中画多个子图,每个子图既独立存在又互不干扰,它就能实现这个功能。但在这里,我们并未指定它的参数,所以它默认是创建了一个子图,即整个窗口就画一个图。那么它的返回值fig指的是整个窗口,ax是所有的子图的坐标轴平面体系。因为你只创建了一个,所以ax在这里就是一个坐标轴平面,ax.plot()也就是在这仅有的一个坐标轴平面内画图。

归根结底,在matplotlib中画图可以分为四部分:1.创建窗口 2.创建坐标轴 3.画图 4.修剪

如果subplots多个子图,见下:

python 复制代码
import matplotlib.pyplot as plt

x=[1,4,9,16,25]

fig,ax=plt.subplots(2,2)
ax[0,0].plot(x)
plt.show()

我们建立了一个2×2布局的窗口,这个窗口是fig,而里面的每一个坐标轴平面是ax,我们在ax的第一个坐标轴中画图即:ax[0,0].plot(x)

相关推荐
重生之我在20年代敲代码12 分钟前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
爱上语文14 分钟前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
waterHBO1 小时前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
2401_858286113 小时前
52.【C语言】 字符函数和字符串函数(strcat函数)
c语言·开发语言
铁松溜达py3 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
everyStudy3 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
AIAdvocate4 小时前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼4 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
C-SDN花园GGbond5 小时前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法