2012-03-31 54 views
18

我已經成功地繪製用下面的代碼的一系列點:如何設置pyplot數字的特定區域的背景顏色?

plt = pp.figure() 
for i in range(spt.shape[1]): 
    spktrain = spt[0,i] 
    for trial in spktrain: 
     non_z = np.nonzero(trial) 
     non_z = non_z[0] 
     pp.plot(t[non_z], trial[non_z], 'bo') 

我想放置的白色和灰色的背景交替的帶圖上,以將數據從的每個迭代分開外循環。換句話說,我希望每個「spktrain」的數據具有自己的背景顏色(數據不重疊)。

我該如何去改變特定區域中人物的背景顏色?

回答

35

您可以使用axhspan和/或axvspan這樣的:

import matplotlib.pyplot as plt 

plt.figure() 
plt.xlim(0, 5) 
plt.ylim(0, 5) 

for i in range(0, 5): 
    plt.axhspan(i, i+.2, facecolor='0.2', alpha=0.5) 
    plt.axvspan(i, i+.5, facecolor='b', alpha=0.5) 

plt.show() 

enter image description here