Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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

Copy link
Copy link
Open
@zpincus

Description

@zpincus
Issue body actions

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 ActionItems 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

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.