How do I change the background color of a scatter plot in matplotlib?
Currently I have
import matplotlib.pyplot as plt
plt.scatter(X, Y, c=T, marker='o', s=(0.005*r), linewidth=0, cmap=cm.coolwarm)
plt.scatter(X_stars, Y_stars, marker='o', s=(0.00000005*r), color='white')
plt.savefig(filename, format='ps')
I want the background to be black, not white.
I already changed facecolor and edgecolor to black, but without the desired effect. Setting transparent=True made it transparent so that I could change the background in Photoshop, but it must work in matplotlib as I have a very large number of plots.
EDIT: As mentionned by endolith in the comments axisbg was deprecated in version 2.0 of matplotlib. Use facecolor instead.
ax = fig.add_subplot(111, facecolor='black')
You could use the axisbg argument of the add_subplot method. Here's a little example:
import matplotlib.pyplot as plt
a = random(100)*10
b = range(100)
fig = plt.figure(1)
ax = fig.add_subplot(111, axisbg='black')
ax.scatter(a,b)
fig.canvas.draw()
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