I am making some scatterplots using Matplotlib (python 3.4.0, matplotlib 1.4.3, running on Linux Mint 17). It is easy enough to set alpha transparency for each point separately; is there a way to set them as a group so that two overlapping points from the same group do not change color?
Code example:
import matplotlib.pyplot as plt import numpy as np def points(n=100): x = np.random.uniform(size=n) y = np.random.uniform(size=n) return x, y x1, y1 = points() x2, y2 = points() fig = plt.figure(figsize=(4,4)) ax = fig.add_subplot(111, title="Test scatter") ax.scatter(x1, y1, s=100, color="blue", alpha=0.5) ax.scatter(x2, y2, s=100, color="red", alpha=0.5) fig.savefig("test_scatter.png")
The results of this conclusion:

but I want something more like this:

I can get around by saving as SVG and manually grouping then in Inkscape and then setting transparency, but I would prefer something that I can encode. Any suggestions?
python matplotlib transparency scatter-plot
Jason
source share