lc-render 0.2.3

Library to create charts images.
Documentation
use lc_render::{Chart, Color, LinearScale, PointType, ScatterView};

fn main() {
    let width = 800;
    let height = 600;

    let margin_top = 90;
    let margin_bottom = 50;
    let margin_left = 60;
    let margin_right = 40;

    let x_scale = LinearScale::new(0.0, 200.0, 0, width - margin_left - margin_right);
    let y_scale = LinearScale::new(0.0, 100.0, height - margin_top - margin_bottom, 0);

    let data_1 = vec![
        (20_f32, 90_f32),
        (12_f32, 54_f32),
        (25_f32, 70_f32),
        (33_f32, 40_f32),
    ];
    let data_2 = vec![
        (120_f32, 10_f32),
        (143_f32, 34_f32),
        (170_f32, 14_f32),
        (190_f32, 13_f32),
    ];

    let view_1 = ScatterView::new(x_scale.clone(), y_scale.clone())
        .set_point_fill_color(Color::new_from_hex("#808080"))
        .set_point_stroke_color(Color::new_from_hex("#000000"))
        .set_data(&data_1)
        .expect("setting data_1");
    let view_2 = ScatterView::new(x_scale.clone(), y_scale.clone())
        .set_point_fill_color(Color::new_from_hex("#000000"))
        .set_point_stroke_color(Color::new_from_hex("#808080"))
        .set_point_type(PointType::Square)
        .set_data(&data_2)
        .expect("setting data_2");

    let chart = Chart::new()
        .set_width(width)
        .set_height(height)
        .set_margin_top(margin_top)
        .set_margin_bottom(margin_bottom)
        .set_margin_left(margin_left)
        .set_margin_right(margin_right)
        .set_axis_bottom_linear(x_scale)
        .set_axis_left_linear(y_scale)
        .set_axis_bottom_label("X Values")
        .set_axis_left_label("Y Values")
        .set_title("Two Scatters Chart")
        .add_view(&view_1)
        .add_view(&view_2);

    chart
        .save("./examples/svg/two_scatters_chart.svg")
        .expect("saving ./examples/svg/two_scatters_chart.svg");
}