Skip to content

Feature Request: add highlight customization method to fluid.plotter #117

@nvssynthesis

Description

@nvssynthesis

Is your feature request related to a problem? Please describe the problem.

When using the highlight method of fluid.plotter, there is a constant scaling factor applied, making the highlighted point(s) larger than the rest.

This works well for the most part, but I could imagine that having a bit more customization in the way highlighting occurs could improve the user experience. This could also help from an accessibility perspective, because users with different visual needs may benefit from customizable visualizations.

One good example of a situation where the current highlighting method falls short is when there is an area that is quite dense in points. In that case, highlighting a point in the middle of that area by making it larger might have a very unnoticeable visual effect.

Describe the solution you'd like to see.

Perhaps there could be both optional creation flags and corresponding messages such as:
highlight_pointsizescale: the scaling factor applied to highlighted points
highlight_saturation: a saturation factor applied to highlighted points
highlight_ringcolor: the color for a circle around the selected point. in other words, in addition to the filling of the circle to represent a point, there could also be a circle drawn around it in another color to indicate its selection.

Another idea:
highlight_opacity: the amount of opacity for highlighted points. But if this is implemented, there should also be:
opacity: the opacity for (non-highlighted) points.
these two could be implemented as a pair, because generally, you'd want the non-highlighted points to have lower opacity while the highlighted points get full opacity.

Describe alternatives you've considered

I believe you can kind of get around the lack of highlight_pointsizescale by just using the pointsize $1 $2 message with a custom size. However, this does not encode the intention that you are highlighting that point, and you have the additional complexity of having to store the original size before resizing it, only then to set the new size, and then restore the old size once you're not trying to highlight it.

Similarly, you could use pointcolor $1 $2 for a point you want to highlight, but the same downsides apply here as above.

Additional context

In each of these 3 images, a different single point is highlighted. The first image is a case where you can fairly well discern the highlighted point; the second and third are quite ambiguous at a glance.

Image Image Image

These examples also illustrate how size-based highlighting alone may not be ideal for many situations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions