Code Monkey home page Code Monkey logo

sanddance's Introduction

SandDance

Visually explore, understand, and present your data.

sanddance-animation

By using easy-to-understand views, SandDance helps you find insights about your data, which in turn help you tell stories supported by data, build cases based on evidence, test hypotheses, dig deeper into surface explanations, support decisions for purchases, or relate data into a wider, real world context.

SandDance uses unit visualizations, which apply a one-to-one mapping between rows in your database and marks on the screen. Smooth animated transitions between views help you to maintain context as you interact with your data.

This new version of SandDance has been rebuilt from scratch with the goal of being modular, extensible, and embeddable into your custom applications. We are now on GitHub so that we are open and driven by the community through contributions, feature requests, and discussion.

SandDance was created by the Microsoft Research VIDA Group which explores novel technologies for visualization and immersive data analytics.

Where can I use SandDance?

Component architecture

SandDance is an offering of several JavaScript components:

Publications

Articles & videos

Changelog

  • July 2022 - Major version bump to v4: Now using MorphCharts.
  • June 2020 - Major version bump to v3: Now using Deck.gl@8.
  • December 2019 - Major version bump to v2: Now using Vega@5.
  • August 2019 - Initial release to AppSource (Power BI marketplace).
  • April 2019 - Initial release to GitHub.

Known issues

  • Animations require a WebGL2 enabled browser.

Roadmap

  • PowerBI custom visual based on this new architecture. done!
  • Additional views, such as stacks. done!
  • Code examples and tutorials.
  • Faceting for all chart types. done!
  • Better date handling.

Dependencies

SandDance is created with open source libraries, using Vega for chart layout.

Development

See dev.md

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

sanddance's People

Contributors

cagladj avatar calinou avatar charles-gagnon avatar cwkchan avatar danmarshall avatar dependabot[bot] avatar doggy8088 avatar jmuskaan72 avatar mat-sz avatar microsoft-github-policy-service[bot] avatar microsoftopensource avatar msftgits avatar nonparibus avatar nutellaweera avatar rebeccarunxinwang avatar ricardoekm avatar satotake avatar stevenmdrucker avatar unbyte avatar v-rr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sanddance's Issues

Clicking legend does not select

PowerBI custom visual

Hello PowerBI SandDancers!
This issue is here to outline our detailed plans to re-implement the PowerBI custom visual using the latest SandDance code.

Important notes

This new version of SandDance requires a WebGL2-enabled browser. At the time of this writing, these are Chrome and Firefox and the Microsoft Edge Insider.

Q: What if I don't have WebGL2?
A: SandDance may still render, but you may lose animated transition effects.

vscode: "Allocation failed - JavaScript heap out of memory" for large dataset

Besides a lot of RAM available this error happens when I try to open a large CSV file (803MB).

Console shows:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: 0x562d86afdd15  [/usr/share/code/code]
 2: 0x562d86afde8a  [/usr/share/code/code]
 3: 0x562d837914f1  [/usr/share/code/code]
 4: 0x562d8383e6f2  [/usr/share/code/code] 
 5: 0x562d83846d04  [/usr/share/code/code]
 6: 0x562d83406f4c v8::internal::Factory::NewRawOneByteString(int, v8::internal::PretenureFlag) [/usr/share/code/code]
 7: 0x562d83866c64  [/usr/share/code/code]
 8: 0x562d837afe89 v8::String::Utf8Length(v8::Isolate*) const [/usr/share/code/code]
 9: 0x562d86b283ee  [/usr/share/code/code]
10: 0x562d83155781  [/usr/share/code/code]
11: 0x562d839ffd0e  [/usr/share/code/code]

Color by dropdown area should have "click to change"

It's not clear that the color by area is driven by the "Color by" choice. I tried to change by clicking on the paint brush icon (which seems clickable) but this didn't work. That would've been my immediate solution to switching it up.

image

Any plans to load data from remote sources?

The usage appears limited to

Right-click on a .csv or .tsv file and choose View in SandDance.

I work primarily with databases, and I'm sure I'm not alone. It takes time to query data from a database and save the data in local files. It'd be useful if SandDance did this work for me.

Are there any plans to address this use case?

Are there any alternatives you can suggest? Maybe this can be accomplished with another, existing VS Code extension and I just don't know where to look?

Direct hex color input

A data column may contain actual hex color codes. Adding a feature to use that instead of a Vega color scheme.

Passing in Vega spec and hiding sidebar in SanddanceReact

Hi all,

I'm trying out SandDanceReact for a project I'm working on, and am running into some difficulty figuring out how to use the component. Is it possible to pass in a Vega spec to the component, or am I limited to the predefined charts? If so, in what prop do I pass it in? I know that one of the examples did this, but it's unclear if the SandDanceReact component exposes vega-deck.gl.

Also, what props can modify or disable the default legend/sidebar?

Thanks for open sourcing this btw, it's a really cool project.

VsCode Feature request : Add a "reload data" button

While visualizing in SandDance, I might also refresh my CSV with new rows and/or columns.
Currently, I need to close SandDance and reopen it, to be able to work on the fresh data.
Since SandDance doesn't save its state, I have to remake all the visualizations.

It would be good to be able to refresh the dataset without closing SandDance.

NB: I use it in VSCode.

Very simple feature request - Save filtered values to csv

Your tool is very helpful to quickly filter out special points of .csv files, however there is no option to do something with the filtered values outside of SandDance. It would be nice if fitlered values could be saved as a new .csv file. Or at least just open the filtered subset in a new tab as csv, than the user can do whatever he wants with it.

Add mean to ColumnStats

Right now Columnstats only has distinctValueCount, min, and max.
It would be useful to have mean there.

Cannot view a CSV file in Azure Data Studio

Whenever I try to open a folder in Azure Data Studio (File -> Open Folder), the application restarts.
As soon as I disable the plugin, I can open a folder just fine.

I am using Azure Data Studio version 1.7.0 and SandDance for Azure Data Studio version 1.0.0

Edgars

Date values should be supported

  • Select a column representing dates (or, possibly, times / datetimes)
  • Expect to see time series representation
  • Instead, get weird number I can't correlate to actual date values. is this the int value from the epoch?

Power BI measure format is not applied

The legend in the tree map pictured below looks messy because it doesn't reflect the measure's format (in this case, % with 1 decimal):
image

The same lack of formatting can be seen in the Data Browser:
image

As well as in tooltips:
image

sanddance-react - Not found

Heya,

Tried installing sunddance-react, this issue should bug you to publish it before the name is taken by a troll :)

➜  sd git:(master) code .
➜  sd git:(master) npm install
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/sanddance-react - Not found
npm ERR! 404
npm ERR! 404  'sanddance-react@*' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)

On another topic, it would be great to see the new WebGPU api implemented for Sanddance once its finalized.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.