调整图表一个轴的大小

1 投票
1 回答
4854 浏览
提问于 2025-04-16 21:52

这是个很简单的问题,我没找到相关的旧话题。

我在做图表时,调整了数据的范围,特别是x轴的范围(这样我就把图表的60-70%都去掉了)。但是这样一来,我的图看起来就很小,根本看不清楚。我该怎么调整x轴的大小,让图表更清晰呢?

1 个回答

4

默认情况下,matplotlib会按照你的需求来处理线图等图形。

在你的代码中,可能有地方设置了一个固定的宽高比,并把坐标轴的可调部分设置为 "box",而不是 "datalim"

更可能的是,你调用的某个函数在背后做了这些事情,而你并没有注意到。例如,如果你调用 plt.imshow,它默认会这样做(实际上它会调用 plt.axis('image'),这会把宽高比设置为1.0,并把可调设置为"box"),这样可以避免图像被拉伸成奇怪的比例。

解决这个问题的方法有几种。最简单的办法是在用 plt.xlim 调整x轴之前,先调用 plt.axis('tight')

import matplotlib.pyplot as plt
import numpy as np

data = np.random.random((10,10))

plt.figure()
plt.imshow(data, interpolation='nearest')
plt.title('Original Plot')

plt.figure()
plt.imshow(data, interpolation='nearest')
plt.xlim([2, 4])
plt.title('Resized Plot')

plt.figure()
plt.imshow(data, interpolation='nearest')
plt.axis('tight')
plt.xlim([2, 4])
plt.title('Resized Plot with Tight Axis')

plt.show()

enter image description here enter image description here enter image description here

撰写回答