scatter() / plot() alignment

I am trying to plot some 2D scatter plot data where:

  • the points have a colormap

  • some points have larger, colored circles on them

  • some points have a dark ring around them

I have managed to get this functionality to work by using both the
scatter() and plot() commands. My problem is that the dark rings printed
by the plot() command do not line up with the circles of the scatter() command.
(Example file below).

My question is this:

  • Is there a way to set an offset for one of these plotting methods
    so that they line up properly? Setting it in the X/Y data will not work
    because it will not be scale independent.

  • Or is there a way to use only one plotting method? I
    can’t seem to get plot() to draw different colors, and I can’t get
    scatter() to draw a wide ring.

Thanks,

-Ben

···

####################

from pylab import *

N = 30

x = 0.9*rand(N)

y = 0.9*rand(N)

z = 0.9*rand(N)

w = 0.9*rand(N)

scatter(x, y, c=z)

scatter(x[:10],

    y[:10],

    s=120,

    c=w[:10],

    marker='o',

    alpha=0.4)

plot(x[5:15],

 y[5:15],

 'o',

 markersize=15,

 markeredgecolor='k',

 markeredgewidth=2,

 markerfacecolor='none')

show()

############################