4 个版本
0.2.2 | 2024年2月26日 |
---|---|
0.2.1 | 2024年2月23日 |
0.2.0 | 2024年2月22日 |
0.1.0 | 2024年2月19日 |
157 在 可视化 分类中
每月下载 170 次
10KB
147 代码行
Plotters-dioxus
为 Rust 库 Plotters 实现 Dioxus 后端。
安装
要使用 plotters-dioxus,您可以将以下行添加到您的 Cargo.toml 中
[dependencies]
plotters-dioxus = "0.2.2"
用法
以下代码允许您绘制散点图
#![allow(non_snake_case)]
use dioxus::prelude::*;
use plotters::prelude::*;
use plotters_dioxus::{ Plotters, DioxusDrawingArea };
fn main() {
dioxus_desktop::launch(App);
}
fn App(cx: Scope) -> Element {
render!(Plotters {
size: (400, 400),
init: move |drawing_area: DioxusDrawingArea| {
drawing_area.fill(&WHITE).expect("The drawing area filling is expected");
let mut simple_ctx = ChartBuilder::on(&drawing_area)
.caption("Simple plot", ("sans-serif", 14, &BLACK))
.margin(10)
.x_label_area_size(40)
.y_label_area_size(40)
.build_cartesian_2d(0f64..1f64, 0f64..1f64)
.expect("Simple context creation is expected");
let original_style = ShapeStyle {
color: BLACK.mix(1.0),
filled: true,
stroke_width: 1,
};
simple_ctx
.configure_mesh()
.disable_x_mesh()
.disable_y_mesh()
.y_label_style(("sans-serif", 11, &BLACK).into_text_style(&drawing_area))
.x_label_style(("sans-serif", 11, &BLACK).into_text_style(&drawing_area))
.x_desc("Count")
.y_desc("Data")
.axis_style(original_style)
.axis_desc_style(("sans-serif", 11, &BLACK).into_text_style(&drawing_area))
.draw()
.expect("Simple configuration creation is expected");
simple_ctx
.draw_series(
vec![(0.1f64, 0.5f64), (0.5f64, 0.5f64), (0.5f64, 0.1f64)]
.iter()
.map(|e| Circle::new(*e, 3i32, BLUE))
)
.expect("Draw is expected");
drawing_area
.present()
.expect(
"Unable to write result to file, please make sure 'plotters-doc-data' dir exists under current dir"
);
},
})
}
查看 示例项目 以获得更互动的示例。
鸣谢
依赖项
~25–70MB
~883K SLoC