charts-rs
charts-rs is a charting library for rust. It's simple and fast.
Overview
charts-rs provides a straightforward approach to generating charts with support for multiple output formats including svg, png, jpeg, webp, and avif. The library offers nine distinct themes: light, dark, grafana, ant, vintage, walden, westeros, chalk, and shine, with light as the default theme.
The library supports ten chart types: Bar, HorizontalBar, Line, Pie, Radar, Scatter, Candlestick, Table, Heatmap, and MultiChart. Drawing inspiration from Apache ECharts, charts-rs enables developers to create charts with similar functionality and appearance.
Themes
Features
- Nine built-in themes available for all chart types
- Custom font loading from ttf or otf files
- Advanced line chart features: smooth curves, area filling, mark points and mark lines
- Multiple legend styles across all charts:
round rect,circle, andrect - Dual y-axis support for enhanced data visualization
- JSON-based chart configuration for simplified setup
- Multiple output formats (svg, png, jpeg, webp, avif) for various use cases
- Web-based JSON editor for interactive chart configuration and testing
Demo
You can try to use the web demo page, it's simple and useful.
Charts Web Demo Page: https://charts.npmtrend.com/
Charts Web Source: https://github.com/vicanso/charts-rs-web
Mix line bar
Horizontal bar
Line
Pie
Radar
Scatter
Candlestick
Table
Heatmap
Multi Chart
Example
New from option
use ;
let mut bar_chart = new_with_theme;
bar_chart.title_text = "Mixed Line and Bar".to_string;
bar_chart.legend_margin = Some;
bar_chart.series_list.category = Some;
bar_chart.series_list.y_axis_index = 1;
bar_chart.series_list.label_show = true;
bar_chart
.y_axis_configs
.push;
bar_chart.y_axis_configs.axis_formatter = Some;
bar_chart.y_axis_configs.axis_formatter = Some;
println!;
svg_to_png.unwrap;
From json
use ;
let bar_chart = from_json.unwrap;
println!;
svg_to_png.unwrap;
Load more fonts
let buf = read.unwrap;
get_or_try_init_fonts);
License
This project is licensed under the Apache-2.0 license.