6 个版本 (重大更改)
0.6.0 | 2021 年 9 月 19 日 |
---|---|
0.5.0 | 2021 年 9 月 7 日 |
0.4.0 | 2021 年 2 月 10 日 |
0.3.0 | 2020 年 11 月 29 日 |
0.1.0 | 2020 年 10 月 12 日 |
#799 在 GUI
1.5MB
25K SLoC
implot-rs
Rust 对 ImPlot 的绑定,通过在 cimplot 上运行 bindgen 构建。
绑定目前基于 ImPlot 版本 0.9-WIP(有关当前指向的确切提交,请参阅 implot-sys/third-party)。下面的状态部分提供了实施状态的详细信息。
重要说明:只要代码是 1.0 版本之前的,API 在小版本之间可能会出现破坏性更改。补丁版本应该是向后兼容的。在 1.0 之后,将更严格地遵循 semver。
需求
imgui-rs 需要 Rust 最小版本 1.40,因此此项目至少需要这个版本。sys crate 编译 implot,因此还需要一个 C++ 编译器。
示例
示例正在构建在这个仓库中的 implot-examples
crate 中。要尝试它们,克隆仓库,切换到 implot-examples
目录,然后尝试例如
cargo run --example line_plots
文档
对于已发布版本,请参阅 。确保查看正确的版本,因为 API 仍在更改。对于 master 分支,可以通过克隆此仓库然后运行来构建文档
cargo doc --open
努力在添加时记录所有内容。如果您发现文档不清晰或缺乏,请随时提出问题。请注意,现在正在添加文档别名,这意味着应该能够用它们在 C++ 代码中的名称查找事物,rustdoc 应该显示相应命名的项。有时这仅仅是将驼峰式命名法改为蛇形命名法的问题,有时惯例绑定会以不同的方式做事。这些别名仅与 Rust 1.48 或更高版本一起使用。
实施状态
当前处于开发中,C++ API 的覆盖范围正在稳步增加。作者欢迎合作,如果您想帮忙,请通过 Github 的问题反馈。
到目前为止,在 implot-sys 中实现了原始绑定,并实现了创建图表的更直观的接口以及图表功能的一个子集。
虽然原始绑定提供了大多数函数的 32 位或 64 位浮点数和各种整数的版本,但高级绑定目前只为 64 位浮点数创建。
- “开始绘图”
- 基本的“Hello World”
- 绘图标志
- 绘图功能
- 线形图
- 文本图
- 散点图
- 条形图
- 垂直
- 水平
- 阶梯图
- 热图
- 阴影图
- 茎叶图
- 图像
- 误差线图
- 垂直
- 水平
- 饼图
- 数字数据
- 注释
- 拖动线
- 拖动点
- 绘图定制
- 轴标志
- 样式颜色
- 样式变量
- 颜色图
- 图例位置
- 绘图查询
- 是否悬停
- 鼠标在图中的位置
- 绘图限制
- 是否查询
- 获取绘图查询
- 轴是否悬停
- Y 轴选择
- 图例条目是否悬停
- 实用工具
- 设置绘图限制
- imgui-rs 样式安全推/弹出栈
- 设置绘图刻度
- 像素到绘图位置
- 绘图到像素位置
- 设置后续元素的 Y 轴设置
- 输入重映射
- 设置非默认 Y 轴刻度和标签
- 读取绘图位置和大小
- 推/弹出绘图剪裁矩形
开发者文档
设计方法
此仓库试图尽可能紧密地遵循 imgui-rs
中使用的方法和风格,因为 implot 旨在在 imgui 程序中使用,因此保持接口和设计哲学的紧密性应该使其更容易实现。
如果您发现任何设计不一致或瑕疵,请随时创建一个问题。
依赖关系
~13MB
~242K SLoC