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 日 |
#1034 in GUI
在 implot 中使用
1.5MB
24K 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位浮点数创建。
- "BeginPlot"
- 基本“你好,世界”
- 图形标志
- 图形功能
- 线形图
- 文本图形
- 散点图
- 条形图
- 垂直
- 水平
- 阶梯图
- 热图
- 阴影图
- 茎图
- 图像
- 误差线图
- 垂直
- 水平
- 饼图
- 数字数据
- 注释
- 拖动线
- 拖动点
- 图形定制
- 轴标志
- 样式颜色
- 样式变量
- 颜色图
- 图例位置
- 图形查询
- 鼠标悬停
- 鼠标在图形中的位置
- 图形限制
- 被查询
- 获取图形查询
- 轴是否被悬停
- 选择y轴
- 图例条目是否被悬停
- 工具
- 设置图形限制
- imgui-rs 风格安全推/出栈
- 设置图形刻度
- 像素到图形位置
- 图形到像素位置
- 为后续元素设置Y轴设置
- 输入重映射
- 设置非默认Y轴刻度和标签
- 读取图形位置和大小
- 推/出图形剪辑矩形(?)
开发者文档
设计方法
此存储库试图尽可能紧密地遵循在 imgui-rs
中使用的方法和风格,因为implot要在imgui程序中使用,因此保持接口和设计哲学的紧密性应该会使这更容易。
如果您发现任何设计不一致或边缘情况,请随时提交问题。
依赖关系
约12MB
约215K SLoC