MorphCharts is a visualization library for creating rich, immersive, and engaging 2D and 3D data visualizations.
You can Try Online, or install and run locally (see Installation, below).
There are 2 principal ways to create charts using this library:
Core
library and a
Renderer
.
The JSON specification can define data sources and transformations, scales, axes, and visualizations. Data sources can be defined in the following ways:
The Try Online page also supports using local files.
Charts are principally rendered using procedural geometry and path tracing. Supported geometric primitives include rectangles, cuboids, spheres, cylinders, hex prisms, ring segments, and torus segments.
Render pipelines are provided for:
The ray tracer supports rendering the following material types, which can be defined in the JSON specification:
Materials can be rendered in solid color, or textured.
Visualizations can be generated at arbitrary resolutions. Single images can be created, typically up to 4K (3840x2160px) resolution (depending on hardware). For larger resolutions, multiple image tiles can be created, which can be stitched into an arbitrarily large image.
The repo has the following components:
Core
library used by the other components.Client
web site to demonstrate use of the visualization framework.Renderers
for generating visualizations:
WebGPURaytrace
, for web browser rendering on the GPU using WebGPU.Spec
parser, based on a subset of the VEGA specification format, with extensions to support 3D
visualizations.The project can be installed and run locally using the following steps:
npm install
to install any required dependencies.npm run build_client
.npm run start_client
, which also opens the
client.html
page in the default web browser.