HoloViews is a Python library that makes analyzing and visualizing scientific or engineering data much simpler, more intuitive, and more easily reproducible.
HoloViews is a Python library that makes analyzing and visualizing scientific or engineering data much simpler, more intuitive, and more easily reproducible. Without HoloViews, there are typically many steps required before you can see your data, whether you use a GUI interactively or write a function or script to build up a plot. HoloViews instead lets you store your data in an annotated format that is instantly visualizable, with immediate access to both the numeric data and its visualization. For instance, if you wrap a two-dimensional dataset like a fractal in a HoloViews Image object named fractal , you can just type fractal to view it as an image in an IPython/Jupyter Notebook . Most importantly, combining it with other objects is now easy -- you can e.g. view it annotated with a horizontal line and a histogram, next to a slice of it from the indicated cross-section, all without writing any plotting code.
Features
Overview
- Lets you build data structures that both contain and visualize your data.
- Includes a rich library of composable elements that can be overlaid, nested, and positioned with ease.
- Supports rapid data exploration that naturally develops into a fully reproducible workflow .
- You can create complex animated or interactive visualizations with minimal code.
- Rich semantics for indexing and slicing of data in arbitrarily high-dimensional spaces .
- Every parameter of every object includes easy-to-access documentation.
- All features available in vanilla Python 2 or 3 , with minimal dependencies.
- All examples on the website are tested automatically each night, using the latest version of the code.
Support for maintainable, reproducible research
- Supports a truly reproducible workflow by minimizing the code needed for analysis and visualization.
- Already used in a variety of research projects, from conception to final publication.
- All HoloViews objects can be pickled and unpickled, with no plotting-library dependencies.
- Provides comparison utilities for testing, so you know when your results have changed and why.
- Core data structures only depend on the numpy and param libraries.
- Provides export and archival facilities for keeping track of your work throughout the lifetime of a project.
Analysis and data access features
- Allows you to annotate your data with dimensions, units, labels and data ranges.
- Easily slice and access regions of your data, no matter how high the dimensionality.
- Apply any suitable function to collapse your data or reduce dimensionality.
- Helpful textual representation to inform you how every level of your data may be accessed.
- Includes small library of common operations for any scientific or engineering data.
- Highly extensible: add new operations to easily apply the data transformations you need.
Visualization features
- Useful default settings make it easy to inspect data, with minimal code.
- Powerful normalization system to make understanding your data across plots easy.
- Build complex animations or interactive visualizations in seconds instead of hours or days.
- Refine the visualization of your data interactively and incrementally.
- Separation of concerns: all visualization settings are kept separate from your data objects.
- Support for interactive tooltips/panning/zooming/linked-brushing, via the optional bokeh or mpld3 backends.
Jupyter/IPython Notebook support
- Support for both IPython 2 and 3 and for the Jupyter project.
- Automatic tab-completion everywhere.
- Exportable sliders and scrubber widgets.
- Automatic display of animated formats in the notebook or for export, including gif, webm, and mp4.
- Useful IPython magics for configuring global display options and for customizing objects.
- Automatic archival and export of notebooks , including extracting figures as SVG, generating a static HTML copy of your results for reference, and storing your optional metadata like version control information.
Integration with third-party libraries
- Flexible interface to both the pandas and Seaborn libraries
- Immediately visualize pandas data as any HoloViews object.
- Seamlessly combine and animate your Seaborn plots in HoloViews rich, compositional data-structures.
Official website: http://holoviews.org/