dantinox.visualization
The visualization module uses a class-level registry. Charts are registered with @Visualizer.register and auto-discovered at import time. No configuration required to use built-in charts.
Visualizer
options:
show_source: true
members:
- register
- render
Base types
options:
show_source: true
options:
show_source: true
members:
- render
- _render_mpl
- _render_plotly
Built-in charts
options:
show_source: true
heading_level: 3
options:
show_source: true
heading_level: 3
options:
show_source: true
heading_level: 3
options:
show_source: true
heading_level: 3
options:
show_source: true
heading_level: 3
options:
show_source: true
heading_level: 3
Quick reference
import pandas as pd
from dantinox.visualization import Visualizer, RenderConfig
df = pd.read_csv("benchmark_results.csv")
# Render all registered default-constructible charts
Visualizer().render(df, out_dir="plots/")
# Specific charts with custom config
cfg = RenderConfig(backend="matplotlib", fmt="pdf", style="publication", dpi=300)
Visualizer().render(df, charts=["throughput", "pareto"], out_dir="paper_plots/", config=cfg)
# Radar chart (requires explicit instantiation — not auto-rendered)
from dantinox.visualization import RadarChart, Visualizer
radar = RadarChart(metrics=["peak_tps", "perplexity", "prefill_mean_ms"])
Visualizer(extra_charts=[radar]).render(df, charts=["radar"], out_dir="plots/")
Style presets
|
Use case |
|---|---|
|
LaTeX-compatible, high-DPI, serif fonts |
|
Presentations, dark-mode slides |
|
Lightweight, no gridlines |
Chart registry
from dantinox.visualization import Visualizer
# List all registered chart names
print(list(Visualizer._registry.keys()))
# ['training_curve', 'throughput', 'throughput_batch', 'latency', 'pareto', 'radar']