
Chart | Data shape | Use when |
|---|---|---|
Region values with visual scale. | Use it for capacity by geography. | |
Point-to-point route lines. | Use it for logistics routing. | |
Coverage scores by region. | Use it for service coverage surfaces. | |
Route-like links between points. | Use it for infrastructure network views. | |
Map regions plus route lines. | Use it when routes need region context. | |
Planning values by region. | Use it for geographic planning dashboards. | |
Dense route lines between points. | Use it for movement patterns. | |
Routes representing response movement. | Use it for dispatch and response analytics. | |
Severity values mapped to region color. | Use it for incident command views. | |
Named regions with values. | Use it for regional comparisons where shape matters. | |
Region map plus movement routes. | Use it for source-to-destination stories. | |
Region values with connection lines. | Use it for linked geographic systems. | |
Route lines with effect markers. | Use it for flow over a spatial surface. | |
Region values mapped to color. | Use it to scan geographic risk. | |
Map and line series together. | Use it when geography and movement are inseparable. | |
Sales territories with route overlays. | Use it for field team planning. | |
Territory values over named regions. | Use it when territory is the mental model. | |
Region health values. | Use it for operational geography. | |
Coordinate pairs representing routes. | Use it for route and movement diagrams. | |
Demand values over regions. | Use it to allocate support capacity geographically. |
use fission::prelude::*;
use fission::charts::{Axis, Chart, LineSeries};
pub struct GeoChart;
impl From<GeoChart> for Widget {
fn from(_: GeoChart) -> Widget {
Chart::new()
.title("Geo")
.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()
}
}
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. |