Skip to content

Commit

Permalink
Merge pull request #394 from Carifio24/scatter-linear-size
Browse files Browse the repository at this point in the history
Make bqplot linear scatter sizes more closely match matplotlib viewer
  • Loading branch information
dhomeier authored Sep 6, 2023
2 parents 83aeb3a + 807daee commit 60f58c3
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 13 deletions.
19 changes: 9 additions & 10 deletions glue_jupyter/bqplot/scatter/layer_artist.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,9 @@ def __init__(self, view, viewer_state, layer_state=None, layer=None):

# Scatter points

self.scale_size_scatter = bqplot.LinearScale()
self.scale_color_scatter = bqplot.ColorScale()
self.scales_scatter = dict(
self.view.scales,
size=self.scale_size_scatter,
color=self.scale_color_scatter,
)

Expand Down Expand Up @@ -272,15 +270,16 @@ def _update_visual_attributes(self, changed, force=False):
self.state.size * self.state.size_scaling,
)
self.scatter_mark.size = None
self.scale_size_scatter.min = 0
self.scale_size_scatter.max = 1
else:
self.scatter_mark.default_size = int(self.state.size_scaling * 25)
self.scatter_mark.size = ensure_numerical(
self.layer[self.state.size_att].ravel()
)
self.scale_size_scatter.min = float_or_none(self.state.size_vmin)
self.scale_size_scatter.max = float_or_none(self.state.size_vmax)
self.scatter_mark.default_size = int(self.state.size_scaling * 7)
s = ensure_numerical(self.layer[self.state.size_att].ravel())
s = ((s - self.state.size_vmin) /
(self.state.size_vmax - self.state.size_vmin))
np.clip(s, 0, 1, out=s)
s *= 0.95
s += 0.05
s *= self.scatter_mark.default_size
self.scatter_mark.size = s ** 2

if (
self.state.vector_visible
Expand Down
6 changes: 3 additions & 3 deletions glue_jupyter/tests/images/py311-test-visual.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"glue_jupyter.bqplot.scatter.tests.test_visual.test_visual_scatter2d[chromium]": "3fe576be80889cc20063dd9e17f39899b2e40fb9a779eaa02e19b01181b332aa",
"glue_jupyter.bqplot.scatter.tests.test_visual.test_visual_scatter2d_density[chromium]": "f09681c1d9aea95612e4a268ab9ada15f5cb7c0158bfc5b13ccb0c890779feb2"
}
"glue_jupyter.bqplot.scatter.tests.test_visual.test_visual_scatter2d[chromium]": "edd4e65c87369bc6e403f45e87d914223bc13f42c2f90a55535614923e233c00",
"glue_jupyter.bqplot.scatter.tests.test_visual.test_visual_scatter2d_density[chromium]": "60f38b822f89603874cd508e0c320db92185129631dd89a58624dd667eb8a5a7"
}

0 comments on commit 60f58c3

Please sign in to comment.