Skip to content
/ solas Public
forked from lux-org/lux

Visualization Recommendation Based on Analysis History

License

Notifications You must be signed in to change notification settings

cmudig/solas

This branch is 338 commits ahead of, 41 commits behind lux-org/lux:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8395189 · Aug 31, 2023
May 9, 2023
Oct 13, 2021
Oct 13, 2021
Feb 1, 2022
Dec 7, 2021
Oct 13, 2021
Oct 13, 2021
Mar 22, 2021
Aug 11, 2020
Oct 20, 2021
Jul 6, 2021
Aug 31, 2023
Oct 9, 2020
Apr 12, 2021
May 3, 2023
Sep 29, 2020
Nov 29, 2020
Aug 3, 2021
Dec 7, 2021
Oct 9, 2020
Oct 13, 2021

Repository files navigation

Solas

Solas is a jupyter extension for visualization recommendation that uses your analysis history to provide better recommendations. You can write analysis code like you normally would in Pandas, Solas will visualize your data for you!

Learn more about Solar in our reserach paper. If you use Solas in your research project, please cite the paper as:

@inproceedings{epperson2022leveraging,
  title={Leveraging Analysis History for Improved In Situ Visualization Recommendation},
  author={Epperson, Will and Jung-Lin Lee, Doris and Wang, Leijie and Agarwal, Kunal and Parameswaran, Aditya G and Moritz, Dominik and Perer, Adam},
  booktitle={Computer Graphics Forum},
  year={2022}
}

Task-specific visualizations

Solas tracks analysis commands issued through the Pandas API and automatically visualies the returned data. By tracking the history of analysis commands, Solas visualizes returned data in a sensible encoding.

For example, when df.describe() or df.corr() are called Solas visulizes these functions as a boxplot and heatmap, respectively.

describe and corr visualizations

Model column interest

Solas also models your interest in each column of the data and uses this to show you relevant visualizations. Below, a user has most recently interacted with Class so it is shown at the top of the interface. Since they have also recently interacted with Worldwide_Gross, MPAA_Rating, and Viewership, they are shown in the enhance tab.

Class vs other recent columns visualizations

Update types based on interaction

Solas is also able to do better type inference based on how you interact with your data. In the example below, Viewership is initially inferred as nominal using standard data-based type inference since it has low cardinality. Once the user applies a multiplication operation to the column, the type is updated to quantitative and is visualized accordingly.

type updates from nominal to quant

Easy install

Solas is a python library and jupyter extension. The python library can be downloaded from pip and the jupyter extension loaded through the extension manager.

pip install solas
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install solaswidget

Then you can run import solas in jupyter environments. Note this wont work outside of ipython envs.

Contributing

For more information about installing for Development purposes and contributing see CONTRIBUTING.md

About

Visualization Recommendation Based on Analysis History

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.0%
  • Jupyter Notebook 2.0%