quickchart-rs
A Rust client library for QuickChart.io, a web service that generates chart images from Chart.js configurations.
Installation
[dependencies]
quickchart-rs = "0.1.1"
Usage
Generate Chart URL
use quickchart_rs::QuickchartClient;
let client = QuickchartClient::new()
.chart(r#"{"type":"bar","data":{"labels":["A","B"],"datasets":[{"data":[1,2]}]}}"#.to_string())
.width(800)
.height(400);
let url = client.get_url()?;
Download Chart Image
use quickchart_rs::QuickchartClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let image_bytes = QuickchartClient::new()
.chart(r#"{"type":"bar","data":{"labels":["A","B"],"datasets":[{"data":[1,2]}]}}"#.to_string())
.format("png".to_string())
.post()
.await?;
std::fs::write("chart.png", image_bytes)?;
Ok(())
}
Save to File
use quickchart_rs::QuickchartClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
QuickchartClient::new()
.chart(r#"{"type":"bar","data":{"labels":["A","B"],"datasets":[{"data":[1,2]}]}}"#.to_string())
.to_file("chart.png")
.await?;
Ok(())
}
Documentation
Full API documentation is available at docs.rs/quickchart-rs or by running cargo doc --open.
Examples
See the examples directory for more complete examples.
License
MIT License - see LICENSE for details.