19 个版本
0.3.7 | 2022 年 8 月 4 日 |
---|---|
0.3.6 | 2022 年 8 月 4 日 |
0.3.3 | 2022 年 7 月 29 日 |
0.2.5 | 2022 年 7 月 18 日 |
0.1.4 | 2022 年 6 月 16 日 |
#181 in 可视化
每月 35 次下载
21KB
346 行
Picolo
一个简单但全面的Image-reading crate,用于基于数据集动态放置原点来绘制数据。 (受谷歌简单绘图方法的启发) 以及一个可以由用户决定精度的图像读取crate。目前所有功能都非常处于alpha阶段。
绘图示例: https://imgur.com/a/i72KTgB
基本绘图
// Plotting a 2d Vector with log scale in mind
// @Params: x: &u32, y: &u32
use picolo::plot::*;
fn main() {
let a_setting = PlotSettings::default();
let x = vec![0, 500, 200, 300];
let y = vec![0, 100, 200, 300];
plot_tbl(&x, &y, &a_setting, "plot.png");
}
设置图像表
// Easiest way to print half the contents
let pixl_struct = load_picture("icon.png", 50);
for i in pixl_struct {
println!("{:?}", i);
}
// Accessing all fields:
// @Params: &path as &str, precision as u32 (100 = 100% = pixels counted, 50 = 50%, ...)
use picolo::readimg::load_picture;
let foo = "icon.png";
let bar_str = &foo;
let precision = 100;
let pixl_struct = picolo::load_picture(bar_str, precision);
// Print all the contents derived from image
for i in pixl_struct {
println!("x {} y {} red {} green {} blue: {}", i[0].x, i[0].y,
i[0].color.red, i[0].color.green, i[0].color.blue);
}
#TODO
- 如果需要,添加绘制圆圈的功能 (.json 文件更佳)
- 如果数据集太大,无法绘制在图上,添加着色变化
- 在单个数据点上方添加文本(显示为 '50, 12')
- 添加线条绘制
- 添加绘制完成后打开图像的功能,用户无需手动操作
- 使用更精确的位置重构查找原点的方式
- 修复对齐问题
依赖项
~13MB
~60K SLoC