I've managed to plot a series of points with the following code:
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') I would like to place alternating bands of white and gray background on the figure in order to separate the data from each iteration of the outer for loop. In other words, I would like the data from each "spktrain" to have it's own background color (the data does not overlap).
How can I go about changing the background color of a figure in a specific region?
Matplotlib change background color inner and outer colorset_facecolor() method is used to change the inner background color of the plot. figure(facecolor='color') method is used to change the outer background color of the plot. In the above example, we have change both an inner and outer color of background of plot.
You can use ax. axvspan , which apparently does exactely what you want. For better results, usa an alpha value below 0.5, and optionally set color and edge-color/width. If you want the shading to be in a different orientation (horizontal instead of vertical), there is also the ax.
Right-click the upper-left corner of the Python console window and select Properties. In the dialog box that appears, pick the tab labeled Colors. On it you can set the screen background and text color.
You can use axhspan and/or axvspan like this:
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() 
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With