Skip to content

mplot3d: set_offsets()/set_array() don't work right for 3d collections #784

Open
@zpincus

Description

@zpincus

It's easy to make animated/interactive 2d plots with PatchCollections, where one can dynamically alter the positions, colors (if using a ScalarMappable colormap), and number of active patches using the set_offsets() and set_array() commands.

This doesn't work quite right for, e.g., Patch3DCollection objects. One can work around set_offsets() by setting the _offsets3d attribute directly, and that seems to work fine, but perhaps this could be bundled up into a set_offsets() method?

It's trickier for changing the colormap values with set_array(), because there's no clear hook for how to invoke the zalpha() function appropriately. Worse, at times I'm able to re-create the "patches lose their color and turn gray" bug when directly setting these values -- but I can't exactly figure out where or when. I'm working on a test case for this...

I can try to work up a patch for this, but if @WeatherGod or anyone else could give a hint or two as to the best approach, that would be helpful! I'm thinking that set_3d_properties() and do_3d_projection() have basically the logic required, which could be refactored into set_offsets() and set_array() calls that would do the right things...

PS. Last issue for today, I promise -- sorry for the spam!

Metadata

Metadata

Assignees

Labels

keepItems to be ignored by the “Stale” Github Actiontopic: mplot3d

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions