机器学习之numpy和matplotlib学习(六)

本文探讨了在机器学习中遇到的plt.tight_layout()函数的用途。该函数用于固定布局,防止多子图时标签重叠。文章通过官方文档解释了为何需要固定布局,并给出了示例代码展示在使用和不使用plt.tight_layout()时的不同效果,强调了它在避免标签重叠问题上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天来讲一下昨天遗留下来的问题———plt.tight_layout()的作用。
tight英文翻译过来是紧的意思,tight_layout也是就固定布局的意思。
为什么需要固定布局呢?参考官方文档http://matplotlib.org/users/tight_layout_guide.html
学习机器学习一定要多参考官方文档,不知道的东西自己试一试就知道了。
下面是结合官方文档的教学。
When you have multiple subplots, often you see labels of different axes overlapping each other.
翻译过来:
就是当你有很多的子图的时候,你的子图的lable可能会重叠起来。

什么是重叠起来呢?看下面图片:
这里写图片描述

这里写图片描述
所以plt.tight_layout()函数就是绑定布局,防止因为拉伸布局而使得lable重叠起来。
参考官方的代码改成的例子。
去掉了一些我们还没有学习的函数【因为有和没有基本没有区别。】

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : figure6.py
import matplotlib.pyplot as plt
import numpy as np

def example_plot(ax, fontsize=12):
     ax.plot([1, 2])
     ax.set_xlabel('x-label', fontsize=fontsize)
     ax.set_ylabel('y-label', fontsize=fontsize)
     ax.set_title('Title', fontsize=fontsize)

fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2)
example_plot(ax1)
example_plot(ax2)
example_plot(ax3)
example_plot(ax4)

plt.show()

这个运行结果就会出现第一幅图片中lable重叠的效果。
黑魔法来了,使用plt.tight_layout()。
plt.show()这句代码之前加上plt.tight_layout()
效果立即不一样【你可以自己拉伸试一下】
得到的就是一个比较好的效果。
这里写图片描述

为了方便,还是把代码全贴出来:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : figure6.py
import matplotlib.pyplot as plt
import numpy as np

def example_plot(ax, fontsize=12):
     ax.plot([1, 2])
     ax.set_xlabel('x-label', fontsize=fontsize)
     ax.set_ylabel('y-label', fontsize=fontsize)
     ax.set_title('Title', fontsize=fontsize)

fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2)
example_plot(ax1)
example_plot(ax2)
example_plot(ax3)
example_plot(ax4)
plt.tight_layout()
plt.show()
更新完毕
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值