plt、fig、axes、axis的含义

news/2025/2/11 23:24:07/

plt

import matplotlib.pyplot as plt

figure,axes与axis

在这里插入图片描述

      如果将Matplotlib绘图和我们平常画画相类比,可以把Figure想象成一张纸(一般被称之为画布),Axes代表的则是纸中的一片区域(当然可以有多个区域,这是后续要说到的subplots),下面是一张更形象一点的图:

在这里插入图片描述

 plt.plot()和ax.plot()有何区别,下面列出了两种用Matplotlib绘制图表的方式。

plt.figure()
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()# 第二种方式
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
plt.show()

在这里插入图片描述在这里插入图片描述

可以看出,两种方式产生的结果完全一样。从第一种方式的代码来看,先生成了一个Figure画布,然后在这个画布上隐式生成一个画图区域进行画图。
第二种方式同时生成了Figure和axes两个对象,然后用ax对象在其区域内进行绘图

如果从面向对象编程(对理解Matplotlib绘图很重要)的角度来看,显然第二种方式更加易于解释,生成的fig和ax分别对画布Figure和绘图区域Axes进行控制,第一种方式反而显得不是很直观,如果涉及到子图零部件的设置,第二种方式显然会更易于使用。

 subplot绘制多个子图

首先要有一个画布Figure,其次,需要有两个区域Axes(等价于两个子图subplot)来画图

# 生成画布和axes对象
# nrows=1和ncols=2分别代表1行和2列
fig,ax = plt.subplots(nrows=1,ncols=2)

 因为这里有两个画图区域,所以ax对应的是一个列表,存储了两个Axes对象。

然后对两个对象进行绘制

ax[0].plot([1,2,3],[4,5,6])
ax[1].scatter([1,2,3],[4,5,6])

在这里插入图片描述

可以看出,一个Axes对象对应了一个subplot子图,这些个子图都是画在同一个画布Figure之上。

 应用

具体绘制时:
1.首先创建画布

import matplotlib.pyplot as pltfig, ax = plt.subplots(figsize=(14,7))

在这里插入图片描述

2.我们在这个axes上画数据,因此就用ax.plot()来画

ax.plot([1,2,3],[4,5,6])

 在这里插入图片描述

3.进行细节处理
设置xy轴标题,以及这个ax区域的标题

ax.set_title('Title',fontsize=18)
ax.set_xlabel('xlabel', fontsize=18,fontfamily = 'sans-serif',fontstyle='italic')
ax.set_ylabel('ylabel', fontsize='x-large',fontstyle='oblique')

对xy坐标轴进行设置

ax.grid(None, which='minor', axis='y')  # 设置网格线

 设置坐标轴tick和细节

start, end = ax.get_xlim()  # 得到x轴的刻度的范围
ax.xaxis.set_ticks(np.arange(start, end+1, 1))  # 设置坐标轴的显示的刻度值只有0,1,2,3,4
ax.xaxis.set_tick_params(rotation=45, labelsize=18, colors='r')  # 设置x轴刻度的标签的字号是18,倾斜角度为45度,颜色是红色
ax.yaxis.tick_right()  # 将y轴刻度和刻度标签(如果存在)移动到轴的右侧。

最后进行显示

plt.show()


http://www.ppmy.cn/news/88298.html

相关文章

零代码平台如何助力企业数字化,零代码会把IT人员淘汰掉吗

据研究,国内企业超过 70% 以上的业务管理需求得不到 IT 排期。 由于爆发的业务需求无法被满足,企业的数字化转型过程中充满着危险的 IT 失能陷阱。 01 IT面临的信息化现状 业务管理需求爆发: 在经济增速下行趋势下,企业面临更…

ChatGPT:AI时代的创造力激活

《你好,ChatGPT》是一本深入探索人工智能(AI)领域的畅销书籍,它以ChatGPT为切入点,系统地介绍了AI和AIGC的基础概念、技术原理、应用领域和未来展望。这本书通俗易懂,由浅入深,层层递进&#xf…

【Unity】Animation Playable Bug、限制及解决方案汇总

【Unity】Animation Playable Bug、限制及解决方案汇总 先自荐一下我的PlayableGraph监控工具,比官方的Visualizer好用得多:https://github.com/SolarianZ/UnityPlayableGraphMonitorTool Bug 文中提及的各项Bug及解决方案的最小化测试工程可在此仓库下…

MT4电脑版交易软件使用技巧有哪些?

MT4交易软件作为连接券商平台与投资者之间的纽带,不仅是外汇金融机构的首选交易平台,也因其显著的优势成为了外汇投资者进行网上交易的重要平台。而MT4交易软件又分为电脑版和手机版,因为大多数投资者进行外汇投资时使用的是MT4电脑版软件&am…

(5.19-5.25)【大数据新闻速递】

关 注gzh“大数据食铁兽”,了解更多大数据快讯 【第八届亚太银行数字化创新峰会圆满落幕】 第八届亚太银行数字化创新峰会在2023年5月18日举行,邀请了30名大咖和超过300位行业顶尖人士参加。金融数据港和中银协中西部培训机构提供特别支持。峰会围绕银行…

OJ练习第110题——扰乱字符串

扰乱字符串 力扣链接:87. 扰乱字符串 题目描述 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个…

聚观早报 | ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备

今日要闻:ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备;索尼正开发小尺寸折叠屏手机;万达辟谣大规模裁员;智能仿生手让截肢者重获手心的温度 ChatGPT登顶美区iOS免费榜 ChatGPT 在 iOS 美区免费 App 排行榜上位列…

自动化测试技术相结合的测试方法

自动化测试技术相结合的测试方法 随着软件开发的不断进步和变革,测试也越来越重要。为了提高测试效率和质量,自动化测试技术相结合的测试方法得到了广泛应用。 自动化测试是一种利用工具和脚本自动执行测试任务的测试方法。通过自动化测试,可…