【Rust 日报】2023-07-16 可视化工具charming

2023-09-26 17:51:08 浏览数 (1)

可视化工具charming

Charming是一个功能强大且多用途的Rust图表渲染库,利用Apache ECharts的强大功能提供高质量的数据可视化。该库使用Rust编程语言构建,旨在为Rust生态系统提供一种直观有效的生成和可视化图表的方式,采用声明式和用户友好的API。亮点如下:

  • 易于使用的声明式API。
  • 丰富且可自定义的图表主题和样式。
  • 支持多种格式的渲染,包括HTML、SVG、PNG和JPEG。
  • 丰富的图表类型。

示例:

代码语言:javascript复制
use charming::image_renderer::ImageRenderer;
use charming::{
    component::Legend,
    element::ItemStyle,
    series::{Pie, PieRoseType},
    Chart,
};

fn main() {
    let chart = Chart::new()
        .legend(Legend::new().top("bottom"))
        .series(
            Pie::new()
                .name("Nightingale Chart")
                .rose_type(PieRoseType::Radius)
                .radius(vec!["50", "250"])
                .center(vec!["50%", "50%"])
                .item_style(ItemStyle::new().border_radius(8))
                .data(vec![
                    (40.0, "rose 1"),
                    (38.0, "rose 2"),
                    (32.0, "rose 3"),
                    (30.0, "rose 4"),
                    (28.0, "rose 5"),
                    (26.0, "rose 6"),
                    (22.0, "rose 7"),
                    (18.0, "rose 8"),
                ]),
        );

    let mut renderer = ImageRenderer::new(1000, 800);
    renderer.save(&chart, "/tmp/nightingale.svg");
}

绘制结果如下:

GitHub: https://github.com/yuankunzhang/charming

日志记录器

一个简单的、具有多种功能的终端 / 文件日志记录器。

这是simplelog的fork版本,作者之所以创建这个日志记录器,是因为对原工具的格式化能力不够满意,而且要对它进行“修复”所需的更改量太大。

GitHub: https://github.com/qarmin/handsome_logger

OPE加密库

这是受cryptdb的ope实现启发的保序加密(Order-preserving encryption,OPE)库。可加密的最大值是65532。

示例:

代码语言:javascript复制
use ope_rs::get_ope;

fn main()
{
	let k = b"this is a key 10".to_owned();

	let ope = get_ope(&k);

	let a = ope.encrypt(21).unwrap();
	let b = ope.encrypt(65531).unwrap();
	let c = ope.encrypt(65532).unwrap();

	assert!(a < b);
	assert!(b < c);
}

GitHub: https://github.com/sentclose/ope/

8080 CPU仿真器

一个用Rust编写的Intel 8080 CPU仿真器。该库旨在在不同的平台上重用:macOS、iOS、Android 和(如果可能的话)Web。

GitHub: https://github.com/k0Iry/8080-Emulator-in-Rust

0 人点赞