Recent Releases of Jupyter Scatter

Jupyter Scatter - v0.22.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] 7 months ago

Jupyter Scatter - v0.21.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] 10 months ago

Jupyter Scatter - v0.21.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] 10 months ago

Jupyter Scatter - v0.20.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] 12 months ago

Jupyter Scatter - v0.19.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] about 1 year ago

Jupyter Scatter - v0.19.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

Jupyter Scatter - v0.18.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

Jupyter Scatter - v0.18.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

Jupyter Scatter - v0.17.2

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

Jupyter Scatter - v0.17.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

Jupyter Scatter - v0.17.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

Jupyter Scatter - v0.16.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

Jupyter Scatter - v0.16.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

Jupyter Scatter -

First version 🎉

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Properly destroy regl-scatterplot on destroy of a widget instance

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Complete rewrite of the Python API to match (#3)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Simplify installation (#16)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix broken installation of v0.2.1 (#23)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Breaking change: Change the signature of compose() to simplify correspondence mapping of data points.
  • Breaking change: Rename view_pixels to view_data and add faster synchronization from the JS to Python kernel
  • Add ability to link the view of multiple scatter plots via compose(sync_view=True)
  • Add link() as a shorthand for compose(sync_view=True, sync_selection=True, sync_hover=True)
  • Add ability to defined categorical colors using a dictionary. E.g., scatter.color(by='coolness', map=dict(cool='blue', hot='orange'))
  • Fix two issues with the order argument in methods color(), opacity(), size(), connection_color(), connection_opacity(), and connection_size() that prevented it's propper use.
  • Improve the ordering of the default Okabe Ito color map
  • Expose default the Okabe Ito (okabe_ito) and Glasbey (glasbey_light and glasbey_dark) color maps for convenience
  • Automatiecally handle string as categorical data

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Make type hints backward compatible to Python 3.7

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix more type hints...

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix scatter.pixels()

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Unset data-driven color, opacity, and size encoding when only a constant value was passed to an encoder function. E.g., after initializing scatter = Scatter(..., color_by='property'), calling scatter.color('red') will automatically unset color_by.

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Breaking change: Renamed color_active and connection_color_active to color_selected and connection_color_selected respectively for clarity.
  • Add support for axes via Scatter(axes=True, axes_grid=True) or scatter.axes(True, grid=True).
  • Add support for log and power x/y scales via Scatter(x_scale='log') or scatter.y(scale='pow').
  • Add docstrings and type hints

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix an issue when dynamically resizing the scatter plot height
  • Fix an issue when switching from categorical to continuous color/opacity/size encoding

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Breaking changes:
    • For scatter.color(), rename color to default, color_selected to selected, and color_hover and hover
    • For scatter.opacity(), rename opacity to default
    • For scatter.size(), rename size to default
    • For scatter.connection_color(), rename color to default, color_selected to selected, and color_hover and hover
    • For scatter.connection_opacity(), rename opacity to default
    • For scatter.connection_size(), rename size to default
  • Add scatter.opacity(unselected=0.5). This property defines the opacity scaling factor of unselected points and must be in [0, 1]. This scaling is only applied if one or more points are selected.

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix issues when specifying the color, opacity, or size map via a dict

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add support for axes labels via scatter.axes(labels=True) or scatter.axes(labels=['x-axis', 'y-axis']) (#29)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Remove accidentally added console.log

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add support for legends via scatter.legend(True, position='top-right', size='small') (#30)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Take the x-padding into account when setting a fixed width (#36)
  • Make width and height correspond to the canvas' (i.e., inner) dimensions such that Scatter(width=500, height=500) will lead to a canvas of size 500x500 px.

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

[!CAUTION] Do not use. Build is broken.

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix broken build of v0.7.2
  • Fix versions of ipywidgets and jupyterlab_widgets to avoid running into incompatibilities (#40)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add support for end labeling of continuous data encoding via a new labeling argument of color(), opacity(), size(), connection_color(), connection_opacity(), and connection_size(). (#46)
  • Fix the incorrect size legend when the size map is reversed (#47)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add support for animated zooming to a set of points via scatter.zoom(pointIndices) (#49)
  • Bump regl-scatterplot to v1.4.1
  • Add support for VSCode and Colab (#37)
  • Fix serving of numpy data for JS client. Use consistent serialization object between JS and Python.

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add support for automatic zooming to selected points via scatter.zoom(on_selection=True)
  • Fix view synchronization issue
  • Add remove() to the JS widget to ensure that the scatterplot is destroyed in ipywidgets v8.

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add scatter.filter([0, 1, 2]) for filtering down points. Filtering down to a specific subset of points is much faster than than updating the underlying data (#61)
  • Add scatter.data(df) to allow rendering new data points without having to re-initialize the scatter instance (#61)
  • Add the ability to automatically zoom to filtered points via Scatter(zoom_on_filter=True) or scatter.zoom(on_filter=True)
  • Add lasso on long press and make it the default. The behavior can be changed via Scatter(lasso_on_long_press=False) or scatter.lasso(on_long_press=False)
  • Updated regl-scatterplot to v1.6

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add support for referencing points by the Pandas DataFrame's index via Scatter(data_use_index=True) or scatter.data(use_index=True). This is useful for synchronizing the selection or filtering of two Scatter instances that operate on different data frames with point correspondences. (#62

```py import jscatter import numpy as np import pandas as pd

df1 = pd.DataFrame( data=np.random.rand(16, 2), index=[chr(65 + x) for x in range(16)], columns=['x', 'y'] ) df2 = pd.DataFrame( data=np.random.rand(8, 2), index=[chr(76 - x) for x in range(8)], columns=['x', 'y'] )

s1 = jscatter.Scatter(data=df1, datauseindex=True, x='x', y='y', xscale=[0, 2], yscale=[0, 1]) s2 = jscatter.Scatter(data=df2, datauseindex=True, x='x', y='y', xscale=[-1, 1], yscale=[0, 1])

def onselectionchange(change): s2.selection(s1.selection())

s1.widget.observe(onselectionchange, names='selection')

jscatter.compose([s1, s2]) ```

https://user-images.githubusercontent.com/932103/223899982-d2837c4d-f486-4f33-af22-cf3866c4983e.mp4

  • Avoid unregistering all observers when calling jscatter.compose() such that external observers remain registered
  • Fix undefined this in codec preventing the scatter.selection() from working correctly (#66)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix the ordering of the legend's value labels for continuous encodings such that high to low values are order top to bottom (#70)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Update regl-scatterplot to v1.6.9

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix incorrect legend for categorical coloring

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Respect the dictionary key-value order of categorical encoding maps in the legend. E.g., the following categorical color map legend will read C, then B, and finally A:

py scatter.legend(True) scatter.color(map=dict(C='red', B='blue', A='pink'))

  • Update third-party JS libraries

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

[!CAUTION] Do not use this version! The distributed build is broken. Use v0.12.6 instead. :pray:

Changes

  • Ensure that the default point colors respect the background when setting both at the same time during initialization. I.e., in the following scenario, the point color will be set to white by default as the background color was set to black:

py jscatter.plot(data=df, background_color='black')

  • Fix an issue when working with views of a pandas DataFrame where not all categorical data is present

  • Loosen strictness of rows and cols of compose() to allow having empty cells in the grid

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix distributed build by ensuring that jscatter/bundle.js is included in the build
  • Fix categorical encoding for partial data

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add ability to specify titles when composing multiple scatter plots by passing tuples of (Scatter, title) to compose() or link()
  • Fix: Add docstrings to compose() and link()
  • Fix: Optimize height of the legend
  • Fix: Check if axes are enabled before updating them when the x or y scale changes
  • Fix: Merge point selections on SHIFT instead of activating the lasso as SHIFT interferes with Jupyter Lab
  • Fix: Allow to call scatter.zoomTo() with the same points multiple times
  • Fix: Unfilter when calling scatter.filter(None)
  • Fix: Properly listen to changes when setting custom regl-scatterplot options via scatter.options()

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix: Prevent resetting the filter upon color, size, or opacity changes
  • Fix: Upon changing the associated data frame via scatter.data(new_df), reapply color, size, and opacity settings

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Add the ability to show a tooltip upon hovering over a point via scatter.tooltip(true) (#86)
  • Fix axes updating of linked scatter plots when panning and zooming (#87)
  • Fix missing x-axes of linked scatter plots (#84)
  • Fix a type in the return value of scatter.xy()

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix: update color, opacity, and size scales as the domains update
  • Fix: auto-reset x and y scale domains upon updating the x and y data
  • Fix: use better number formatter for the legend

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix view synchronization when axes are not shown
  • Fix y-padding size determination
  • Fix stale channel value getter for the tooltip

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter -

Changes

  • Fix: don't return color, opacity, or size settings when labeling is defined
  • Fix: prevent x-axis label to be cut off at the bottom
  • Fix: axes label color in dark mode

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter - v0.15.0

Changes

  • Feat: Add support for histograms in the tooltip (#96)
  • Feat: Add support for non-visualized properties in the toolip (#96)
  • Fix: Allow mixing custom and DataFrame-based data (#89)
  • Fix: Improve the tooltip positioning to avoid the tooltip being cut off unnecessarily
  • Fix: Properly redraw axes on resize (#108)
  • Fix: Incorrect axes scale domain (#107)
  • Fix: Use custom regl-scatterplot option on creating a Scatter instance (#106)
  • Fix: Broken link to properties in docstrings (#110)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago

Jupyter Scatter - v0.15.1

Changes

  • Fix: Remove an unused widget property that causes an issue with newer version of anywidget (#117)

Scientific Software - Peer-reviewed - Python
Published by flekschas over 1 year ago