2015-01-07 41 views
0

我想绘制一个json文件的内容。该脚本应该生成64个子图。每个子图由128个采样(电压电平)组成。 “ElementSig”是该json文件中用于8192个样本列表的“关键”。我正在128个样本的时间和产生它的次要情节,你在我下面的脚本看:使用matplotlib组织子图

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

任何帮助表示赞赏。

回答

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() 

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