h5web
h5web copied to clipboard
React components for data visualization and exploration
H5Web: React components for data visualization and exploration
H5Web is a collection of React components to visualize and explore data. It consists of three packages:
- @h5web/lib: visualization components built with react-three-fiber.
- @h5web/app: a component to explore and visualize data stored in HDF5 (or HDF5-like) files, and data providers to connect this component to various back-end solutions.
- @h5web/h5wasm: an additional data provider that can read HDF5 files straight in the browser.
While H5Web was initially built with the HDF5 format in mind,
@h5web/lib
visualization components are not tied to HDF5 and can be used to visualize data from any source. Also,@h5web/app
lets you write your own data provider and can therefore work with any other hierarchical data format.
If you're after a ready-made solution to view local HDF5 files, take a look at
the JupyterLab extension
jupyterlab-h5web. The extension
is based on @h5web/app
and the h5grove
Python package.
NPM packages 📚
@h5web/lib
H5Web's component library, which includes the main visualization components
(LineVis
, HeatmapVis
, etc.) as well as some of their lower-level building
blocks (VisCanvas
, ColorBar
, etc.)
The library is documented in a Storybook site accessible at https://h5web-docs.panosc.eu.
Some examples of usage of @h5web/lib
:
LineVis with multiple curves | HeatmapVis with horizontal color bar and tooltip | Comparison between gamma and power scale |
---|---|---|
![]() |
![]() |
![]() |
@h5web/app
HDF5 viewer component (App
) and built-in data providers.
Data providers are components that fetch data from HDF5 back-end solutions and
provide this data to the app through React Context. H5Web currently includes
three providers, two of which are available in the @h5web/app
package:
-
H5GroveProvider
for server implementations based on H5Grove, like jupyterlab-h5web -
HsdsProvider
for HSDS
@h5web/h5wasm
This package includes a third data provider, H5WasmProvider
, that can read
HDF5 files straight in the browser thanks to the
h5wasm library.
Demos
The demo app demonstrates the use of the built-in data providers and visualizations. Several demos are available, one per data provider:
Ecosystem
Check out these projects from the H5Web ecosystem:
- h5grove - core utilities to serve HDF5 file contents
- jupyterlab-h5web - H5Web extension for JupyterLab
- vscode-h5web - H5Web extension for Visual Studio Code
Contributing
Want to help improve H5Web? We're always looking for feedback, bug reports and feature requests, so don't hesitate to open an issue or start a discussion.
If you'd like to know more about contributing to the codebase, please check out the CONTRIBUTING guide.