2个不稳定版本

0.2.0 2021年4月27日
0.1.0 2019年9月17日

#264 in 可视化

MIT 许可证

27KB
594

rtplot

一个用于在Rust中进行实时绘图的库。这个库仍在早期开发阶段,因此API可能会随时间变化和改进。

用法

使用此库需要两个步骤:配置图表和通过其渲染函数显示图表。

use rand_distr::{Distribution, Normal};
use rtplot::{Figure, PlotType};

fn main() {
    let normal = Normal::new(0.0, 1.0).unwrap();
    let mut rng = rand::thread_rng();
    // Configure the plot to hold 100 samples at a time. The x axis is not
    // specified, so it is dynamically updated at runtime.
    let mut figure = Figure::new(100)
        .ylim([-1.0, 1.0])
        .xlabel("Time (s)")
        .ylabel("Amplitude")
        .plot_type(PlotType::Line)
        .color(0x80, 0x00, 0x80);

    // The closure is called every time to generate a new state for the plot.
    // The figure _must_ be run on the main thread due to compatibility issues
    // with events loops on non-Unix operatins sytems.
    Figure::display(&mut figure, |fig| {
        let v: Vec<f32> = normal
            .sample_iter(&mut rng)
            .take(10)
            .map(|x| x as f32)
            .collect();
        fig.plot_stream(&v);
    });
}

依赖关系

~12–21MB
~315K SLoC