Если я вас правильно понял, вы хотите построить кривую максимальной частоты поверх спектрограммы? Если да, вы можете просто вызвать второй вызов графика matplotlib
после спектрограммы. Как то так:
f, t, Zxx = signal.stft(x, fs, nperseg=1000)
max_f = np.argmax(data, axis=1) # data has shape (time x frequency)
plt.pcolormesh(t, f, np.abs(Zxx), vmin=0, vmax=amp)
plt.plot(np.arange(max_f.shape[0]), max_f)
plt.ylabel('Frequency [Hz]')
plt.xlabel('Time [sec]')
plt.show()