SVG chart renderer powered by charts-rs.
Takes a JSON configuration with a "type" field and returns an SVG string.
Supported chart types
"bar"- Vertical bar chart"horizontal_bar"- Horizontal bar chart"line"- Line chart"pie"- Pie chart"radar"- Radar/spider chart"scatter"- Scatter plot"candlestick"- Candlestick chart"heatmap"- Heatmap"table"- Table"multi"- Multi-chart composition
Examples
{:ok, svg} = SvgCharts.render(%{
"type" => "bar",
"title_text" => "Downloads",
"series_list" => [
%{"name" => "MDEx", "data" => [120.0, 200.0, 150.0]}
],
"x_axis_data" => ["Jan", "Feb", "Mar"]
})
svg = SvgCharts.render!(~s({"type": "line", "series_list": [{"name": "A", "data": [1.0, 2.0]}], "x_axis_data": ["X", "Y"]}))Legend layout
Chart options are passed through to charts-rs. Use "legend_margin" to
position a legend below title text:
%{
"title_text" => "Framework Comparison",
"sub_title_text" => "Phoenix vs. Rails vs. Next.js",
"legend_margin" => %{"top" => 60}
}Set "legend_show" => false to omit the legend, which is often useful for a
single-series chart.