3 个版本

使用旧的 Rust 2015

0.7.9 2016年10月27日
0.7.8 2016年9月28日
0.7.7 2016年9月28日

可视化 中排名第 245

MIT 许可证

44KB
1K SLoC

Simple Chart

此存储库包含将迭代器(T, T)表示为(f64,f64)的内容,即以 BMP 格式表示的折线图。

Build Status

示例 1. 一个序列和自动计算的坐标轴,返回为 Vec<u8>

    let mut chart = Chart::new(200, 100, "#ffffff", "#000000")
        .unwrap();

    let v: Vec<_> = vec![(1.2,2.3), (3.4, 4.5), (5.6, 6.7)];
    let serie = Serie::new(v.into_iter(), "#ff0000").unwrap();
    let series = vec![serie];
    
    let bmp = chart.draw(series.into_iter());

chart1

示例 2. 一个序列,从包含的宏公式!计算而来,

并手动设置 x 轴

    let mut chart = Chart::new(400, 500, "#f14500", "#0027ff")
        .unwrap()
        .add_axis_x(Axis::new(-2.0, 2.0, 7, 2));

    let v = formula!(y(x) = x.sin(), x = [-3.14, 3.14; 0.1]);
    let serie = Serie::new(v.into_iter(), "#ffff00").unwrap();
    let series = vec![serie];

    let bmp = chart.draw(series.into_iter());

chart2

示例 3. 两个序列和手动设置 x 和 y 轴

    let mut chart = Chart::new(740, 480, "#000000", "#ffffff")
        .unwrap()
        .add_axis_x(Axis::new(-2.0, 2.0, 7, 2))
        .add_axis_y(Axis::new(-2.0, 2.0, 7, 2));

    let v1 = formula!(y(x) = x.sin(), x = [-3.14, 3.14; 0.1]);
    let v2 = formula!(y(x) = x.cos(), x = [-3.14, 3.14; 0.1]);
    let serie1 = Serie::new(v1.into_iter(), "#ff0000").unwrap();
    let serie2 = Serie::new(v2.into_iter(), "#00ff00").unwrap();
    let series = vec![serie1, serie2];

    let bmp = chart.draw(series.into_iter());

chart3

用法

将此内容放入您的 Cargo.toml

[dependencies]
simple-chart = "*"

并在您的 crate 根目录中放入此内容

extern crate simple_chart;
use simple_chart::{Chart, Serie, Axis, Point};

资源

许可证

MIT

依赖项

~0.2–1MB
~24K SLoC