#嵌入式图形 #Sparklines #线 #绘制 #绘图 #图表 #大小

bin+lib embedded-graphics-sparklines

Rust嵌入式图形的Sparklines

2个不稳定版本

0.1.0 2022年3月2日
0.0.1 2022年2月22日

1658 in 嵌入式开发

MIT许可证

45KB
358

Contributors Forks Stargazers Issues Build Status MIT License LinkedIn


Embedded graphics logo

Rust嵌入式图形的Sparklines

Sparklines是嵌入在文字、数字或图像上下文中的小型、高分辨率的图形。Edward Tufte将Sparklines描述为“数据密集、设计简单、字大小的图形”。
探索文档

Rust包 · 报告错误 · 请求功能

目录
  1. 关于项目
  2. 入门指南
  3. 快速入门
  4. 路线图
  5. 许可证
  6. 联系方式
  7. 致谢

关于项目

这个库是ESParklines库的Rust实现,这个库对于创建用于小型嵌入式系统屏幕的实时图表非常有用。

这个库设计得尽可能简单。它负责:

  • 持有预先定义大小的数字数据类型缓冲区
  • 使用传入的绘图函数绘制Sparklines
  • 是显示驱动器无关的,因为你可以提供任何绘图函数
  • 与嵌入式图形模拟器一起工作,这样你可以在开发机上快速迭代

(返回顶部)

构建工具

(返回顶部)

入门指南

确保你的rust环境已经配置

安装

  1. 将库添加到你的Cargo.toml

    ...
    [dependencies]
    embedded-graphics-sparklines = "0.1.0"
    
  2. 在你的代码中使用库

    
    let mut display: SimulatorDisplay<BinaryColor> = SimulatorDisplay::new(Size::new(240, 135));
    let bbox = Rectangle::new(Point::new(0, 26), Size::new(240, 90));
    let draw_fn = |lastp, p| Line::new(lastp, p);
    
    // create sparkline object
    let mut sparkline = Sparkline::new(
        bbox, // position and size of the sparkline
        32,   // max samples to store in memory (and display on graph)
        BinaryColor::On,
        1, // stroke size
        draw_fn,
    );
    
    let output_settings = OutputSettingsBuilder::new()
        .theme(BinaryColorTheme::OledBlue)
        .build();
    let mut window = Window::new("Sparkline", &output_settings);
    
    loop {
      let val = rand::thread_rng().gen_range(0..100);
      sparkline.add(val);
      sparkline.draw(&mut display)?;
    
      window.update(&display);
      thread::sleep( Duration::from_millis(100);
    }
    
  3. 实验并享受乐趣!😌如果你想运行快速演示,请查看main.rs

(返回顶部)

快速入门

  1. 确保你已经设置了cargo
  2. 安装cargo二进制包以便在计算机上轻松测试
    $ cargo install embedded-graphics-sparklines
    
  3. 使用模拟器显示运行提供的二进制示例
    $ embedded-graphics-sparklines --features build-binary
    
  4. 你应该看到类似以下的结果

(返回顶部)

路线图

  • 添加测试
  • 添加rustdocs
  • 使用GitHub Actions进行CI集成
  • 更好的错误生成和处理

请参阅开放问题以获取功能建议(和已知问题的)完整列表。

(返回顶部)

许可证

在MIT许可证下分发。有关更多信息,请参阅LICENSE

(返回顶部)

联系方式

Bernard Kobos - @bkobos - [email protected]

项目链接:https://github.com/bernii/embedded-graphics-sparklines

(返回顶部)

致谢

  • ESParklines 项目,本内容基于此项目

(返回顶部)

依赖项

~4MB
~45K SLoC