我想绘制一首歌曲的频谱图,用作卷积神经网络图像分类的特征。因此,输出图像必须尽可能干净,没有任何标签/轴/刻度等。
从各种来源,我设法通过设置方法来禁用matplotlib默认绘制的box_inches=tight
边框plt.savefig
。尽管如此,我尝试绘制的任何图像上都会保留一个小边框。
此示例代码不使用实际的音频文件,但仍然可以看到小边框:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import librosa
import librosa.display
import numpy as np
plt.axis('off')
S = np.array([[1,2,3], [2,2,1], [3,1,3]])
librosa.display.specshow(S) # i suspect this method to somehow draw the border
plt.margins(0) # as suggested by Eran W
plt.savefig('test.png', transparent=False, bbox_inches='tight', pad_inches=0)
plt.close()
我在该方法的官方文档中找不到任何内容,也不知道如何调试此问题。有什么提示吗?