I am having some difficulty with pyplot's awesome drawing abilities. I have selected my very own colormap
n = 6
map = matplotlib.cm.get_cmap('Dark2')
cmap = colors.ListedColormap([(0,0,0,0)] + [[map(i * 1.0 / n)[j] for j in range(3)] + [0.2] for i in range(1, n + 1)])
This is basically just the Dark2 colormap, discretized to n (in my case 6) values with the zero value mapping to pure white. The main difference, however, is that the alpha
values for my custom colormap are set to 0.2
, not 1
as is default.
The problem is that when I plot something using this, like
plt.pcolormesh(np.random.rand(10,10), cmap = cmapInv)
the result is something like this:
This looks nice enough, but you can clearly see that around each box, there is a very thin border of the same color as the box but with alpha
set to 1
.
EDIT: As suggested in the comments, the cause of these borders is probably overlap between the boxes.
Is there a way to clean this up?
As a minor workaround in the meantime, I found you can get the image closer to what you want by messing with the edgecolor
and linewidth
attributes. For example, using the following input to pcolormesh
:
plt.pcolormesh(np.random.rand(10,10), cmap = cmapInv, edgecolor=(1.0, 1.0, 1.0, 0.3), linewidth=0.0015625)
outputs the following image:
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