如何在Python中使用matplotlib创建子绘图
我写了这段代码,我的子代码中有错误。我现在不知道我的代码出了什么问题。你能帮我吗如何在Python中使用matplotlib创建子绘图,python,matplotlib,Python,Matplotlib,我写了这段代码,我的子代码中有错误。我现在不知道我的代码出了什么问题。你能帮我吗 import pywt import scipy.io.wavfile as wavfile import matplotlib.pyplot as plt rate,signal = wavfile.read('a0025.wav') time = [x /rate for x in range(0,len(signal))] tree = pywt.wavedec(data=signal[:1000], w
import pywt
import scipy.io.wavfile as wavfile
import matplotlib.pyplot as plt
rate,signal = wavfile.read('a0025.wav')
time = [x /rate for x in range(0,len(signal))]
tree = pywt.wavedec(data=signal[:1000], wavelet='db2', level=4, mode='symmetric')
print(len(tree))
newTree = [tree[0]*0, tree[1]*0, tree[2]*0, tree[3]*0, tree[4]]
recSignal = pywt.waverec(newTree,'db2')
fig, ax = plt.subplot(2, 1)
ax[0].plot(time[:1000], signal[:1000])
ax[0].set_xlabel('Czas [s]')
ax[0].set_ylabel('Amplituda')
ax[1].plot(time[:1000], recSignal[:1000])
ax[1].set_xlabel('Czas [s]')
ax[1].set_ylabel('Amplituda')
plt.show()
错误:
raise ValueError('Illegal argument(s) to subplot: %s' % (args,))
ValueError: Illegal argument(s) to subplot: (2, 1)
正如错误明确指出的那样,您向
pyplot.subplot()
传递了一个非法参数。如果您查看,您将看到它需要3个参数(可以压缩为一个):ax=plt.subplot(2,1,1)
或ax=plt.subplot(211)
但是,您要查找的函数是plt.subplot()
(注意末尾的s
):
这个bug似乎出现在文档中,请参见。他们忘记了第三个例子中的“s”。然而,前两个例子是正确的。
e、 g
我们不想阅读您的所有代码,这些链接最终可能会失败。请将相关部分粘贴到您的问题中。
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)
# using tuple unpacking for multiple Axes
fig, (ax1, ax2) = plt.subplot(1, 2)
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplot(2, 2)