Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I set the background color on specific areas of a pyplot figure?

Tags:

matplotlib

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?

like image 625
Louis Thibault Avatar asked Mar 31 '12 16:03

Louis Thibault


People also ask

How do I change the background color in Pyplot?

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.

How do I shade an area in matplotlib?

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.

How do I change the background color in Python?

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.


1 Answers

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

enter image description here

like image 106
tom10 Avatar answered Sep 22 '22 08:09

tom10



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!