1

参考此链接:https : //aqibsaeed.github.io/2016-09-03-urban-sound-classification-part-1/,我正在尝试制作相同的波形图,但是,我得到了这个图: 波图.

我正在运行这些 python 代码:

def plot_waves(sound_names, raw_sounds):
    i = 1
    fig = plt.figure()
    for n, f in zip(sound_names, raw_sounds):
        plt.subplot(10, 1, i)
        librosa.display.waveplot(np.array(f), sr=22050)
        plt.title(n.title())
        i += 1
    plt.suptitle("Figure 1: Waveplot", x=0.5, y=0.915, fontsize=18)
    plt.show()

知道如何改进以实现与链接中所示相同的数字吗?谢谢。

4

1 回答 1

2

从您发布的链接中,该plot_waves功能在下面复制。

注意传递给的figsize和参数。指定图形的(宽度,高度)。当然指定分辨率。使用这些参数将增加您的图形大小并解决似乎是问题的“挤压”外观。dpiplt.figurefigsize=(25,60)dpi

由于您的图形标题与您的第一个轴标题重叠,您还需要为标题在plt.suptitle. 并不是说x和中的yplt.suptitle分别是图像大小从左侧和底部开始的分数。所以x=0.5在水平方向指定一个标题位置在图形的中间,并y=0.915指定从图形底部算起的图形总高度的 91.5% 的垂直位置。

始终随意使用这些设置,直到您获得适合您的情节。

def plot_waves(sound_names, raw_sounds):
    i = 1
    fig = plt.figure(figsize=(25,60), dpi = 900)
    for n,f in zip(sound_names,raw_sounds):
        plt.subplot(10,1,i)
        librosa.display.waveplot(np.array(f),sr=22050)
        plt.title(n.title())
        i += 1
    plt.suptitle("Figure 1: Waveplot",x=0.5, y=0.915,fontsize=18)
    plt.show()
于 2017-03-01T16:48:25.233 回答