Version 0.98 behavior change - scatter

There seems to have been a change to the behavior of the 'alpha' keyword option to scatter(): where previously alpha only affected the facecolor, and the edgecolor always had an alpha of 1.0, alpha now seems to affect both facecolor and edgecolor. Tested with 0.93.1 and 0.98. Tested with new API for 0.98 as well.

ax.scatter(xSeries, ySeries, s=sY, c='k', alpha=0, edgecolor='k')

and

plot1=ax.scatter(xSeries, ySeries, s=sY, c='k')
plot1.set_alpha(0)
plot1.set_edgecolor('k')

Is there any way to get the old behavior using version 0.98 and forward?

Thanks,
   Murthy

As a quick-fix workaround, you can do:

from matplotlib.pyplot import *
p = scatter([0,1,2,3], [4,5,6,7], c ='k', alpha=0, edgecolor = 'k')
p._alpha = 1.0
p.set_edgecolor('k')
show()

But the deeper question is for the rest of the list is... what's the correct behavior? Should we just revert to what it did in 0.91, or add another kwarg to set the edge alpha?

Cheers,
Mike

S Murthy Kambhampaty wrote:

···

There seems to have been a change to the behavior of the 'alpha' keyword option to scatter(): where previously alpha only affected the facecolor, and the edgecolor always had an alpha of 1.0, alpha now seems to affect both facecolor and edgecolor. Tested with 0.93.1 and 0.98. Tested with new API for 0.98 as well.

ax.scatter(xSeries, ySeries, s=sY, c='k', alpha=0, edgecolor='k')

and

plot1=ax.scatter(xSeries, ySeries, s=sY, c='k')
plot1.set_alpha(0)
plot1.set_edgecolor('k')

Is there any way to get the old behavior using version 0.98 and forward?

Thanks,
   Murthy

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
  
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

Michael Droettboom wrote:

As a quick-fix workaround, you can do:

from matplotlib.pyplot import *
p = scatter([0,1,2,3], [4,5,6,7], c ='k', alpha=0, edgecolor = 'k')
p._alpha = 1.0
p.set_edgecolor('k')
show()

But the deeper question is for the rest of the list is... what's the correct behavior? Should we just revert to what it did in 0.91, or add another kwarg to set the edge alpha?

I think 0.91 behavior was odd, if alpha applied only to the fill; making alpha apply to everything strikes me as a bugfix, not a regression, so I would not favor reverting to the old behavior.

What is really needed may be some rethinking (or perhaps just codification) of overall alpha handling throughout mpl, including kwargs and explicit color specification. At present it seems rather messy, for understandable historical reasons, partly owing to backend quirks and limitations (e.g., no alpha at all in postscript).

If the kwarg strategy is chosen, then everywhere there can be an edge and a face, we should support "alpha=" to apply to both, "edgealpha=" for the edge alone", and "facealpha=" for the face. Or something like that.

Eric

···

Cheers,
Mike

S Murthy Kambhampaty wrote:

There seems to have been a change to the behavior of the 'alpha' keyword option to scatter(): where previously alpha only affected the facecolor, and the edgecolor always had an alpha of 1.0, alpha now seems to affect both facecolor and edgecolor. Tested with 0.93.1 and 0.98. Tested with new API for 0.98 as well.

ax.scatter(xSeries, ySeries, s=sY, c='k', alpha=0, edgecolor='k')

and

plot1=ax.scatter(xSeries, ySeries, s=sY, c='k')
plot1.set_alpha(0)
plot1.set_edgecolor('k')

Is there any way to get the old behavior using version 0.98 and forward?

Thanks,
   Murthy

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
  

Eric Firing wrote:

Michael Droettboom wrote:

As a quick-fix workaround, you can do:

from matplotlib.pyplot import *
p = scatter([0,1,2,3], [4,5,6,7], c ='k', alpha=0, edgecolor = 'k')
p._alpha = 1.0
p.set_edgecolor('k')
show()

But the deeper question is for the rest of the list is... what's the correct behavior? Should we just revert to what it did in 0.91, or add another kwarg to set the edge alpha?

I think 0.91 behavior was odd, if alpha applied only to the fill; making alpha apply to everything strikes me as a bugfix, not a regression, so I would not favor reverting to the old behavior.

What is really needed may be some rethinking (or perhaps just codification) of overall alpha handling throughout mpl, including kwargs and explicit color specification. At present it seems rather messy, for understandable historical reasons, partly owing to backend quirks and limitations (e.g., no alpha at all in postscript).

If the kwarg strategy is chosen, then everywhere there can be an edge and a face, we should support "alpha=" to apply to both, "edgealpha=" for the edge alone", and "facealpha=" for the face. Or something like that.

+1

···

Eric

Cheers,
Mike

S Murthy Kambhampaty wrote:

There seems to have been a change to the behavior of the 'alpha' keyword option to scatter(): where previously alpha only affected the facecolor, and the edgecolor always had an alpha of 1.0, alpha now seems to affect both facecolor and edgecolor. Tested with 0.93.1 and 0.98. Tested with new API for 0.98 as well.

ax.scatter(xSeries, ySeries, s=sY, c='k', alpha=0, edgecolor='k')

and

plot1=ax.scatter(xSeries, ySeries, s=sY, c='k')
plot1.set_alpha(0)
plot1.set_edgecolor('k')

Is there any way to get the old behavior using version 0.98 and forward?

Thanks,
   Murthy

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
  
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users