Namespace BlazOrbit.Charts.Components
Classes
- BOBAreaChart<TX, TY>
Area chart - line chart with the region between the line and the X axis baseline filled. Each series renders as its own filled region (overlapping when series intersect); a stacked variant is on the v2 roadmap.
Inherits the full Line-chart pipeline (axes, smooth interpolation, X-axis auto-detect for numeric / temporal / categorical) and overrides the per-series shape to add a filled
<path>beneath the stroke. Markers are off by default - area charts emphasise the filled volume, not the individual data points.
- BOBBarChart<TX, TY>
Vertical bar chart with multi-series support. X axis is categorical (typically string labels), Y axis is a linear numeric scale.
- BOBBoxplotChart<TX>
Box-and-whisker plot - distribution comparison across categorical groups. Each box renders the IQR (Q1..Q3), median line, whiskers (typically
±1.5·IQR) and individual outlier dots.
- BOBCandlestickChart<TX>
Candlestick / OHLC chart for financial time series. Each BOBChartCandlePoint<TX> renders as a vertical wick from
LowtoHighwith a body spanningOpentoClose. Bullish bars (Close ≥ Open) use UpColor; bearish bars use DownColor. Set ShowVolumePane to overlay a volume bar pane on the bottom 20% of the plot, sharing the X axis.
- BOBChartBase<TX, TY>
Abstract base for every BOBCharts component (Bar, Line, Pie / Donut, Area). Provides:
- The
<bob-component data-bob-component="…" data-bob-data-visualization-base>host element shared by the family. - A child
<svg>root sized by Width / Height (or 100% when both arenull). - The RenderSvg(RenderTreeBuilder) hook concrete charts override to emit their geometry inside the SVG.
- Optional Export-as-PNG button wired through IChartJsInterop.
Concrete subclasses are
sealedand live in the same namespace.- The
- BOBDonutChart<TY>
Donut chart - annular distribution. Identical to BOBPieChart<TY> but with a non-zero inner radius (default 0.6 of the outer radius) so the centre is hollow. Useful for embedding a KPI label inside the ring.
- BOBFunnelChart<TY>
Funnel chart - visualizes a multi-stage drop-off pipeline. Each step's row width auto-scales to the largest value in the funnel; the row height is uniform. Useful for sales pipelines, ad attribution funnels and onboarding completion analyses.
- BOBGaugeChart
Gauge chart - single-value KPI display rendered as an arc fill against a track. Supports semi (180°), three-quarter (270°) and full (360°) shapes plus optional zone Segments (e.g. green-amber-red thresholds). The current Value drives the fill arc and the centered numeric readout.
- BOBHeatmapChart<TX, TY>
Heatmap - 2D matrix where each cell's intensity maps to a color in a sequential ramp between LowColor and HighColor. Useful for correlation matrices, calendar heatmaps (GitHub-style), hourly traffic, retention cohorts.
- BOBHistogramChart<T>
Histogram - distribution of a single numeric variable. Auto-bins the raw Values using BinRule and renders each bin as a vertical bar. Includes a quantile readout (
Median,P95) optionally shown via the ShowQuantileLines flag.
- BOBLineChart<TX, TY>
Continuous line chart with multi-series support. Auto-detects the X axis type from
TX:- Numeric (int, double, decimal, …) → linear scale.
- System.DateTime, System.DateTimeOffset,
System.TimeSpan → temporal linear scale (projected via
Ticks; format string controls the tick label rendering). - Anything else → falls back to a categorical scale, equally spaced by category index in declaration order.
- BOBMixedChart<TX>
Combined-series chart: bar + line + area in the same plot, sharing the X axis and optionally a secondary Y axis (right side, distinct range). Useful for "actual vs target" / "value vs ratio" / "stock vs index" comparisons where one series belongs to a different domain than the others.
- BOBPieChartBase<TY>
Shared rendering pipeline for circular distribution charts. Subclassed by BOBPieChart<TY> (full disc, InnerRadius = 0) and BOBDonutChart<TY> (annulus, InnerRadius ≈ 0.6).
Pie / donut do not have X / Y axes, so this base derives from
BOBChartBase<object, TY>with TX bound to the dummy object type.
- BOBPieChart<TY>
Pie chart - full circular distribution. Each
BOBChartSlice's value is normalised to 100% across the slice set; slice order goes clockwise from 12 o'clock following declaration order.For an annular variant (donut), see BOBDonutChart<TY>.
- BOBPolarAreaChart<TY>
Polar-area / Coxcomb / Rose chart - variant of pie where every slice has the same angular width but the radius encodes the magnitude. Useful for cyclic data (months, hours-of-day) where you want to preserve uniform angular slots and let the radii do the talking.
- BOBRadarChart<TX, TY>
Radar / spider chart - multi-dimensional comparison across N axes. Each BOBChartSeries<TX, TY> contributes one closed polygon, with one vertex per
TXcategory. Best for 3-12 axes; more becomes hard to read.
- BOBSankeyChart<TY>
Sankey flow diagram - visualises mass / energy / monetary movement between named nodes as variable-thickness ribbons. The chart auto-derives node columns from the edge graph (topological rank by reachability from sources) so consumers only describe the links; positions are computed.
- BOBScatterChart<TX, TY>
Scatter / bubble chart. Each data point renders as an independent marker with no inter-point connection.
- Series - XY scatter with a constant MarkerRadius per point.
- BubbleSeries - bubble mode where the marker radius encodes a third dimension. Per-point sizes are auto- scaled into BubbleMinRadius..BubbleMaxRadius across all bubble series in the chart.
- BOBStockChart<TX>
Multi-pane stock chart - extends the candlestick paradigm with stacked indicator panes (RSI, MACD, Volume) and overlay indicators (Bollinger Bands) on the price pane. Panes share the X axis so the user can correlate price action with momentum / volume signals.
- BOBSunburstChart<TY>
Radial variant of BOBTreemapChart<TY>. Hierarchical nodes render as concentric arcs - innermost ring for root nodes, outer rings for their descendants. Shares BOBChartTreemapNode<TY> with the treemap so consumers can swap representations without rebuilding their dataset.
- BOBTreemapChart<TY>
Hierarchical treemap - subdivides the chart area into nested rectangles whose size is proportional to each node's value. Uses the squarified algorithm (Bruls / Huijing / van Wijk, 2000) so rectangles stay close to square, making adjacent magnitudes easier to compare than the long thin strips of the classic slice-and-dice approach.