#plot #graph #graphics #back-end

plt

专注于出版级别美感和人体工程学控制的绘图库

6个版本

0.4.1 2022年11月18日
0.4.0 2022年10月20日
0.3.1 2022年9月9日
0.2.1 2022年9月2日
0.1.0 2022年8月25日

#156可视化

MIT/Apache

235KB
3K SLoC

plt

CI Crates.io docs.rs dependency status

一个专注于出版级别美感和人体工程学控制的绘图库。

结构

  • 绘图是在一个 Subplot 上绘制的。
  • 一个或多个子图组织在一个 Layout 中。
  • 布局被添加到一个 Figure,该图用于将内容绘制到文件或直接到一个 Backend

使用

要开始,请查看主仓库中的 示例 目录。

示例

use plt::*;

// create data
let xs: Vec<f64> = (0..=100).map(|n: u32| n as f64 * 0.1).collect();
let ys: Vec<f64> = xs.iter().map(|x| x.powi(3)).collect();

// create subplot
let mut sp = Subplot::builder()
    .label(Axes::X, "x data")
    .label(Axes::Y, "y data")
    .build();

// plot data
sp.plot(&xs, &ys).unwrap();

// make figure and add subplot
let mut fig = <Figure>::default();
fig.set_layout(SingleLayout::new(sp)).unwrap();

// save figure to file
fig.draw_file(FileFormat::Png, "example.png").unwrap();

Simple Example

依赖项

目前,唯一实现的后端依赖于 Cairo

Debian / Ubuntu

apt install libcairo2-dev

Arch

pacman -Syu cairo

依赖项

~1.7–2.5MB
~51K SLoC