Visualization¶
timeseries-qc produces a Plotly-based horizontal Gantt chart showing quality over time for every tag.
Basic Usage¶
Each tag gets a horizontal row. Color coding:
- Green = good
- Yellow = suspect
- Red = bad
Customizing the Plot¶
Filter by Tags¶
Filter by Time Range¶
Custom Title and Height¶
Interactive Features¶
- Hover over segments for details (tag, quality, start, end, duration)
- Cause tooltip: Hovering over suspect or bad segments shows the triggering rule(s) — e.g.
Cause: null values,Cause: flatline,Cause: delta, null values— so you can immediately see why a segment was flagged - Range selector buttons: 1d, 1w, 1m, All
- Range slider at the bottom for zooming
- Legend toggles visibility of good/suspect/bad segments
Timezone Behavior¶
The chart automatically displays timestamps in the same timezone as the input data — no extra configuration needed.
- If you pass tz-naive data with
assume_tz="America/Edmonton", the x-axis and hover tooltips show Edmonton local time. - If you pass tz-aware timestamps (e.g.,
datetime64[ns, America/Chicago]), the chart uses that timezone. - The annotated DataFrame
result.dfalso contains timestamps in the input timezone. - Bare date strings in
start/endparameters (e.g.,start="2026-01-01") are interpreted in the input timezone.
Exporting the Chart¶
The chart can be saved as HTML or PNG using Plotly's export options:
fig = result.plot()
fig.write_html("chart.html")
fig.write_image("chart.png") # requires kaleido or orca
Report Export¶
For a complete report with chart and tables:
See Report Generation for details.
Next Steps¶
- Report Generation — self-contained HTML reports
- API Reference —
QCResult.plot()documentation - User Guide — walkthrough with examples