Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scientific Visualization

Eitan Lees
November 07, 2018

Scientific Visualization

A talk I gave in the Department of Scientific Computing at Florida State University covering scientific visualization.

Eitan Lees

November 07, 2018
Tweet

More Decks by Eitan Lees

Other Decks in Science

Transcript

  1. 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
  2. - Visit - Mongo - Vesta - Gnuplot - TikZ

    - Matlab - Matplotlib - Adobe Illustrator
  3. 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
  4. Strengths: - Designed like MatLab: switching was easy - Many

    rendering backends - Can reproduce just about any plot (with a bit of effort)
  5. 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
  6. 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
  7. Building on Matplotlib Common Idea: Keep matplotlib as a versatile

    well tested backend, and provide a new domain specific API.
  8. Key Features: - Provides the DataFrame object - Also provides

    a simple API for plotting - Recently more sophisticated statistical visualization tools have been added
  9. Key Features: - Like pandas, wraps matplotlib - Nice set

    of color palettes & plot styles - Focus on statistical visualization & modeling
  10. Common Idea: build a new API that produces a plot

    serialization (often JSON) that can be displayed in the browser (often in Jupyter notebooks)
  11. 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
  12. - Aggregates data and sends pixels - Can handle interactive

    visualization of billions of rows - Datasets themselves stored in objects that automatically produce intelligent visualizations
  13. 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
  14. 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 <x> to a position, and <y> to a color” Declarative visualizations lets you think about the data and relationships, rather than incidental details
  15. 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 <x> to a position, and <y> to a color” Declarative visualizations lets you think about the data and relationships, rather than incidental details
  16. ...