Skip to content

Errorbars on scatter plots don't react to point selection #7305

Description

@alexcjohnson

If you make a plot with errorbars, they aren't affected at all by selections. This both looks weird (like part of your point was left behind when it became deselected) and can cause usability problems, in that it's harder to distinguish selected and unselected points, particularly if the points themselves are small.

The simple solution here would be to include the errorbars in the group that responds to marker.opacity. That also seems the most correct, as you shouldn't see an errorbar through a partially transparent marker, and intuitively I'd expect errorbars to become transparent along with their associated markers. I think that would cover most use cases, though including some errorbar attributes like color and thickness in the selected and unselected styles would also be nice.

A tricky bit here is that normally errorbars are drawn behind lines but markers are in front of lines, so they can't just be combined with the markers. I suspect the right solution is to only put them behind the lines when there are no markers, but when there are markers bring them up to just behind and grouped with each marker.

Relatedly, no errorbar attributes other than array and arrayminus accept arrays. Enabling color in particular to be an array would be useful, and could mostly work around the main issue here in some cases, though I wouldn't call it a full solution.

https://codepen.io/alexcjohnson/pen/RNbGamp?editors=0010
Image

To be clear: I don't think we should select the errorbars themselves - just select the points and bring the errorbars along for the ride.

Interestingly, errorbars on bar charts already behave correctly:

Image

Activity

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions