Skip to content

handling colors and other modifiable attributes #77

Closed

Description

@kushalkolar

The way colors are handled by Graphic is kinda of wonky now, I'm thinking of making a base class GraphicAttribute which is indexable, this would allow intuitive fine grained color control. It would probably also fix the current wonkyness of ScatterGraphic.

example:

plot = Plot()

line_graphic = plot.line(data=<sine_wave>)

line_graphic.colors[50:100] = "red"
line_graphic.colors[100:] = (0, 1, 0, 1)
line_graphic.colors = "w"
...

This would basically call pygfx geometry/material colors.data and the update_range() for only the indices modified

@EricThomson @clewis7 thoughts?

@clewis7 this will get rid of all the current update_<graphic_attr> methods, but we can change that later. For interactivity we can just allow anything that is a GraphicAttribute instance to be a modifiable feature.

Activity

  1. EricThomson commented on Dec 19, 2022

    @EricThomson
    Contributor

    This seems great I really like it! Would make certain things really intuitive and simple.

  2. kushalkolar commented on Dec 20, 2022

    @kushalkolar
    MemberAuthor

    Could also add sizes, at least for scatter, might also be possible for line

  3. kushalkolar commented on Dec 21, 2022

    @kushalkolar
    MemberAuthor

    @clewis7 once #61 is merged we need to think of how to trigger events when a GraphicAttribute changes its data, will have to work for Graphic and GraphicCollection objects.

  4. kushalkolar commented on Dec 24, 2022

    @kushalkolar
    MemberAuthor

    for now thing left to do is sizes

  5. kushalkolar commented on Dec 26, 2022

    @kushalkolar
    MemberAuthor

    mostly implemented in #78 and #88, this issue superseeded by #85

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions