#plot #precision #reading #down #dataset #origin #bareboned

bin+lib picolo

一个简单的crate,用于将图像分解为其基本数据。使用出色的image crate。

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 次下载

MIT 许可证

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