Rendering
You can embed a visualization in two ways:
- Rendering an existing object
- Rendering a visualization on the fly
Rendering is done using the render()
method on the instance returned by the
embed
function, which at minimum requires the HTMLElement
you want to
render into:
import { embed } from "@nebula.js/stardust";
const n = embed(enigmaApp);
n.render({
element,
// rest of the config
});
Render an existing objects
If you already have created a generic object in your app and want to render it,
you can do so by providing the object’s id
:
n.render({
element,
id: "<ObjectID>",
});
Rendering existing objects created in Sense requires matching types, so that Nebula can correctly use the correct visualization for the correct data. A comprehensive list of type names can be found in Supported Charts.
Render on the fly
When rendering a visualization on the fly you need to specify the type
you want to render:
n.render({
element,
type: "barchart",
});
Some visualizations have minimum requirements on the various properties and/or data they need to render, in which case you might see a blank visualization with text that reads “Incomplete visualization.”
To provide initial data to the visualization, add the data dimensions and
measures into the fields
property:
n.render({
element,
type: "barchart",
fields: ["Region", "=sum(Sales)"],
});
You can also modify the initial properties:
n.render({
element,
type: "barchart",
fields: ["Product", "=sum(Sales)"],
properties: {
title: "Sales by region",
},
});
Here is a bar chart with a title that shows the total sales by region: