调整图表一个轴的大小
这是个很简单的问题,我没找到相关的旧话题。
我在做图表时,调整了数据的范围,特别是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()