如何使用Matplotlib让绘制的图表完全填充整个画布
解决方案
直接替换原有代码即可实现绘图区域完全填充画布、曲线顶到两侧的效果:
import numpy as np import matplotlib.pyplot as plt data = np.fromfile("rawdata.bin", dtype='<u2') fig, ax = plt.subplots() fig.patch.set_facecolor('xkcd:mint green') ax.axes.xaxis.set_ticks([]) ax.axes.yaxis.set_ticks([]) # 取消数据曲线两侧的默认留白 ax.margins(0) # 将绘图区域的上下左右边距全部设为0,完全占满画布 fig.subplots_adjust(left=0, right=1, top=1, bottom=0) ax.plot(data) plt.show()
关键修改说明
- 删掉了原代码中的
tight_layout()方法,该方法会自动计算并保留边距适配刻度、标签,不符合无留白的需求。 subplots_adjust直接指定绘图区域在画布上的位置,四个参数分别设为0/1即可让绘图区域和画布完全重合,不会露出画布的薄荷绿色背景。margins(0)取消Matplotlib绘图默认给坐标轴两侧留的5%空白,让数据曲线直接延伸到绘图区域的左右边缘。
内容的提问来源于stack exchange,提问作者user2231017
相关产品推荐
相关产品推荐

