使用 matplotlib 组织子图

Organize subplots using matplotlib

我正在尝试绘制 json 文件的内容。该脚本应生成 64 个子图。每个子图由 128 个样本(电压电平)组成。 "ElementSig" 是那个 json 文件中的一个 "key",用于包含 8192 个样本的列表。我一次采集 128 个样本并生成它的子图,如您在我的以下脚本中所见:

import json
import matplotlib.pyplot as plt
json_data = open('txrx.json')
loaded_data = json.load(json_data)
json_data.close()
j = 0
E = loaded_data['ElementSig']

for i in range(64):
    plt.ylabel('E%s' % str(i+1))
    print 'E', i, ':'
    plt.figure(1)
    plt.subplot(64, 2, i+1)
    print E[0+j:127+j]
    plt.plot(E[0+j:127+j])
    j += 128
plt.show()

结果非常紧凑,数字重叠。

感谢任何帮助。

我把它保存为.png文件后得到了更好的图形。

fig = plt.figure(figsize=(20, 222))
plt.subplots_adjust(top=.9, bottom=0.1, wspace=0.2, hspace=0.2)

for i in range(1, 65):

    print 'E', i, ':'

    plt.subplot(64, 2, i)
    plt.ylabel('E%s' % str(i))

    i += 1
    print E[0+j:127+j]
    plt.plot(E[0+j:127+j])
    j += 128
plt.savefig('foo.png', bbox_inches='tight')
plt.show()

虽然我相信有更好的解决方案。