Dataset

The Dataset family contains 20 renderer-backed chart variants. Use this page as the entry point for choosing the right variant, then open the variant page for the screenshot, data shape, Rust API notes, and example code.
The chart family is still ordinary Fission UI. Each variant is constructed from typed Rust data, participates in layout and theme decisions, and can be driven by app state, reducers, resources, jobs, or services just like any other widget.
Brush telemetry screenshot

Variants

Chart
Data shape
Use when
Point samples with brush selection.
Use it for interactive telemetry exploration.
Date/value rows mapped to a calendar.
Use it when dates are a first-class data field.
Region/value rows.
Use it when geographic views come from named records.
Encoded grid cells with values.
Use it when heatmaps come from generic records.
Filtered label/value rows.
Use it when the chart represents a selected dataset slice.
Vertex and edge records.
Use it when flow data is modeled explicitly.
Changing stage values.
Use it when pipeline stages update during the session.
Highlighted alert points.
Use it for active events and outliers.
Changing category values.
Use it for updating status summaries.
Append-like ordered telemetry samples.
Use it for live monitoring views.
Changing dimension vectors.
Use it for live multidimensional scorecards.
Single changing status value.
Use it when a live number needs a strong visual shape.
Tabular data encoded into line series.
Use it when named fields should drive series values.
Tabular product/year/value records.
Use it when several chart views should share one dataset.
Rows with several numeric dimensions.
Use it when the same table powers multidimensional analysis.
Period labels switching chart state.
Use it for period-over-period analysis.
Rows sorted into category/value pairs.
Use it when rank comes from data transformation.
Rows encoded into x, y, and size.
Use it when one table feeds bubble visualization.
Multiple encoded measures over one category axis.
Use it when stack series share the same source table.
Telemetry chart with built-in actions.
Use it when live charts need controlled exploration.

Choosing within this family

Start with the user's question, not the visual effect. Pick the simplest variant that makes the answer clear, add interaction only when it reduces work for the user, and keep animation purposeful enough that it explains a change rather than decorating the page.

Authoring from a Fission component

Use this reference page as the chart expression inside ordinary Fission component conversion. The chart is a Widget, so it can sit inside a Card, Grid, Scroll, responsive page section, or any other layout container.
use fission::prelude::*;
use fission::charts::{Axis, Chart, LineSeries};

pub struct DatasetChart;

impl From<DatasetChart> for Widget {
    fn from(_: DatasetChart) -> Widget {
        Chart::new()
            .title("Dataset")
            .x_axis(Axis::category(vec!["A", "B", "C"]))
            .y_axis(Axis::value())
            .series(vec![LineSeries::new("Series").data(vec![1.0, 2.0, 3.0]).into()])
            .into()
    }
}
Keep expensive data loading outside component conversion. A reducer, job, service, or server route should prepare the typed chart data, then the component should read that state and construct the chart deterministically.

Options, accessibility, and diagnostics

Area
What to decide
How to verify
Data shape
Keep source rows in typed Rust structs, then map them into the series type shown in the example.
Unit test the mapping separately from rendering.
Options
Choose axes, legends, labels, animation, and interaction based on the user's task.
Add a screenshot test when changing visual behavior.
Accessibility
Provide a clear title and adjacent summary text for important trends or outliers.
Inspect the generated semantics and make sure the chart is understandable without color alone.
Failure handling
Render an empty, loading, or error state before constructing the chart if data is unavailable.
Test empty data, partial data, and failed fetches.
Performance
Prefer summarized or windowed data for very large datasets; keep full raw history in the data layer.
Profile frame time and interaction latency with representative data volumes.
Fission
A cross-platform, GPU-accelerated user interface framework for Rust. MIT licensed.
Copyright (c) 2026 Fission
Ready to use today. Widget APIs are expected to remain stable; some runtime and shell APIs may change before 1.0.0.
Fission 0.7.0