使用matplotlib组织子图

时间:2015-01-07 21:51:09

标签: python matplotlib

我正在尝试绘制json文件的内容。该脚本应生成64个子图。每个子图由128个样本(电压电平)组成。 “ElementSig”是该json文件中的“密钥”,用于列出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()

结果非常紧凑,数字重叠。 enter image description here

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当我将其保存为.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()

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