微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Matplotlib横坐标重叠问题如何解决?Python画多个图像坐标轴重叠怎么办

python绘图可以使用matplotlib在一个窗口里面来绘制多个图像的,但是有些时候会出现坐标轴重叠的问题,而很多小伙伴就想知道该问题的解决方法。那么下面这篇文章就是来给大家介绍一下,matplotlib绘图横坐标重叠出现的原因和解决方法,往下看看吧。

一、坐标轴重叠原因

这个坐标轴重叠指的不是两个图像挨在了一起,而是坐标轴上表示数据的刻度被下面的图像给挡住了。这个问题出现的原因就在于使用了自动调节图像位置和距离的方式,因为在设置好画布窗口大小之后,所有绘制出来的图像会自动按照高宽均匀的放在这个画布上,如果数量过多或者过大就会出现坐标轴重叠问题。

二、坐标轴重叠解决方法

那么这个问题的解决方法需要分为两步,第一步就是调用subplots()方法来会绘制图像,因为matplotlib库有三种方法可以来在同一画布上绘制多个子图。而这个方法可以同时创建出,画布以及子图对象。

那么只需要在该方法之中传入参数tight_layout并设置其值为True即可,该参数的作用就是调整子图绘制完成之后的布局方式,这样就会自动填充整个图像区域来修改多个子图之间的距离。

而绘制子图完成之后也是需要再去手动调用这个同名函数,这样就可以让子图坐标不重叠的摆放在画布上了,详细代码示例如下:

import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12,6), tight_layout=True)
labels = ['2022-{}-01'.format(str(i).zfill(2)) for i in range(1,13)]
y1 = np.random.randint(low=1, high=10, size=12)
y2 = np.random.randint(low=1, size=12)
axes[0].bar(labels, y1)
axes[1].bar(labels, y2)
plt.tight_layout()
plt.show()
plt.savefig('test.png', dpi=200)

以上就是关于“Matplotlib横坐标重叠问题如何解决?Python画多个图像坐标轴重叠怎么办”的全部内容了,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐