Acknowledgements - Sachin Shanbhag for letting me explore - Nathan Crock for putting it all together - Much of today’s talk comes from Jake Vanderplas’ PyCon 2017 talk - Brian Granger and the Jupyter project
Advantages: - All in one platform - Developed with scientific application in mind - Very popular for physical modeling Weakness: - Too much for simple plots - GUI forward - Stability
Strengths: - Designed like MatLab: switching was easy - Many rendering backends - Can reproduce just about any plot (with a bit of effort) - Well-tested, standard tool for over a decade
Strengths: - Designed like MatLab: switching was easy - Many rendering backends - Can reproduce just about any plot (with a bit of effort) - Well-tested, standard tool for over a decade Weaknesses: - API is imperative & often overly verbose - Poor support for web/interactive graphics - Often slow for large & complicated data
Key Features: - Provides the DataFrame object - Also provides a simple API for plotting - Recently more sophisticated statistical visualization tools have been added
Bokeh Advantages: - Web view/interactivity - Handles large data and/or streaming datasets - Geographical visualizations - Fully open source Weakness: - Plotly has some paid features - Limited output formats - Smaller (but growing) community
- Aggregates data and sends pixels - Can handle interactive visualization of billions of rows - Datasets themselves stored in objects that automatically produce intelligent visualizations
Tidy data: i.e. rows are samples, columns are features “ I want to scatter petal length vs. sepal length, and color by species” Example: Statistical Data
Toward a well-motivated Declarative Visualization Imperative - Specify How something should be done. - Specification & Execution intertwined. - “Put a red circle here and a blue circle here” Declarative - Specify What should be done. - Separates Specification from Execution - “Map to a position, and to a color” Declarative visualizations lets you think about the data and relationships, rather than incidental details
Toward a well-motivated Declarative Visualization Imperative - Specify How something should be done. - Specification & Execution intertwined. - “Put a red circle here and a blue circle here” Declarative - Specify What should be done. - Separates Specification from Execution - “Map to a position, and to a color” Declarative visualizations lets you think about the data and relationships, rather than incidental details