[Matplotlib-users] Different colors between imshow and patches
David Bourgeois
david at jaguarondi.com
Wed Jan 13 06:03:06 EST 2016
In Matplotlib, images and patches are shown on screen with different color
rendering, at least with my setup. The following script displays an image
of a grayscale (np.array) overlaid at the center with the same grayscale
generated from matplotlib.patches.
There is a difference of gamma between the image and the patches on what's
displayed on screen but if I save this figure, then the resulting file is
correct. Checking with some graphic software, the patches are displaying
the correct color, not the image.
Snapshot:
http://i.stack.imgur.com/mv8aU.jpg
Saving the figure from the figure window 'save' button gives this:
http://i.stack.imgur.com/fVNnh.png
Is there anything I'm missing in this code?
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
color = np.zeros(3)
f, ax = plt.subplots()
im = np.zeros((1000, 1100,3))
for i in range(11):
im[:,i*100:(i+1)*100,:] = np.tile(np.array([[color]]), (1000, 100,
1))
ax.add_patch(Rectangle((i*100,300), 100, 400, linewidth=0,
facecolor=color))
color = color + 0.1
plt.imshow(im)
plt.show()
I'm on OSX, so I also checked the color management and by changing the
color profile of my display, both image and patches are affected so I guess
color management is not where the problem lies.
Thank you,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20160113/df6f58c8/attachment.html>
More information about the Matplotlib-users
mailing list