HoloViews – Make Data Analysis and Visualization Seamless

HoloViews is an open-source Python library designed to make data analysis and visualization seamless and simple. With HoloViews, you can usually express what you want to do in very few lines of code, letting you focus on what you are trying to explore and convey, not on the process of plotting.

HoloViews focuses on bundling your data together with the appropriate metadata to support both analysis and visualization, making your raw data and its visualization equally accessible at all times.

HoloViews depends on NumPy and Python 2.7 or 3. It optionally uses the matplotlib, Bokeh, and Plotly backends.

Features include:

  • Build data structures that both contain and visualize your data.
  • Includes a rich library of composable elements that can be overlaid, nested and positioned easily.
  • Supports rapid data exploration that naturally develops into a fully reproducible workflow.
  • Create interactive visualizations that can be controlled via widgets or via custom events in Python using the ‘streams’ system. When using the Bokeh backend, you can use streams to directly interact with your plots.
  • Rich semantics for indexing and slicing of data in arbitrarily high-dimensional spaces.
  • Plotting output using the Matplotlib, Bokeh, and plotly backends.
  • A variety of data interfaces to work with tabular and N-dimensional array data using NumPy, pandas, dask, iris, and xarray.
  • Every parameter of every object includes easy-to-access documentation.
  • Relies heavily on semantic annotations, i.e., metadata you declare that lets HoloViews interpret what your data represents. With these annotations, HoloViews can perform complex tasks like visualization automatically.
  • Three types of annotation can be associated with each element:
    • Type – used to declare the sort of data you have, which is required before it can be visualized.
    • Dimensions – specify the abstract space in which the data resides, allowing axis labeling and indexing.
    • Group/Label – declare a meaningful category and human-readable description of the element, allowing plot labeling and selecting related sets of elements.
  • Visual options and styling.
  • Jupyter Notebook support:
    • Support for all recent releases of IPython and Jupyter Notebooks.
    • Automatic tab-completion everywhere.
    • Exportable sliders and scrubber widgets.
    • Custom interactivity using streams and notebook comms to dynamically updating plots.
    • 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.
  • All features available in vanilla Python 2 or 3, with few dependencies.

Website: holoviews.org
Support: User Guide, GitHub, Twitter, Gitter
Developer: Anaconda
License: BSD 3-Clause “New” or “Revised” License

HoloViews

HoloViews is written in Python. Learn Python with our recommended free books and free tutorials.

Return to Python Visualization Packages Home Page | Return to Python Data Analysis Home Page


Popular series
Guide to LinuxNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
Linux Around The WorldLinux Around The World showcases events and usergroups that are Linux-related. This is a new series.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
Home ComputersHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.