Comment faire de Matplotlib les nuages de points transparents en tant que groupe?

Je suis en train de faire quelques nuages de points à l'aide de Matplotlib (python 3.4.0, matplotlib 1.4.3, fonctionnant sur Linux Mint 17). Il est assez facile de définir la transparence alpha pour chaque point individuellement; est-il possible de les définir en tant que groupe, de sorte que les deux se chevauchent points du même groupe ne changez pas la couleur?

Exemple de code:

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

Résultats de cette sortie:

Comment faire de Matplotlib les nuages de points transparents en tant que groupe?

mais je veux quelque chose de plus comme celui-ci:

Comment faire de Matplotlib les nuages de points transparents en tant que groupe?

Je peux contourner ce problème en économie que le SVG et manuellement regroupement puis dans Inkscape, puis réglage de la transparence, mais je préfère vraiment quelque chose que je peux code. Des suggestions?

Probablement pas, parce que cela est contraire à ce que d'un nuage de points est généralement en essayant de montrer.

OriginalL'auteur Jason | 2015-05-07