pub fn plotly_spectra(path: &std::path::Path, tof_len: Option<i64>) -> Result<(), Box<dyn Error>> { let base_name = path.file_stem().unwrap().to_str().unwrap(); let spectrum_file = path.with_file_name(base_name.to_owned() + "_report_spectrum.html"); let mut plot = Plot::new(); let layout = Layout::new() .x_axis(Axis::new().title(Title::new("Time (ns)"))) .y_axis(Axis::new().title(Title::new("Pixels activated"))); plot.set_layout(layout);
时间: 2024-04-17 08:23:02 浏览: 121
GM(1n)matlab代码-Generate_RotD_Spectra_Matlab:Generate_RotD_Spectra_Matla
这段代码定义了一个名为 `plotly_spectra` 的函数,用于绘制质谱图。
函数接受一个 `path` 参数,表示文件路径,以及一个可选的 `tof_len` 参数,表示 TOF(飞行时间)的长度。
首先,通过 `path.file_stem()` 获取文件名的 stem(不包含扩展名部分),然后通过 `unwrap()` 解包获取一个 `OsStr` 类型的值。接着,使用 `to_str()` 将其转换为字符串类型,并再次使用 `unwrap()` 解包获取字符串值,并将其赋值给 `base_name` 变量。
接下来,通过将 `base_name` 和 "_report_spectrum.html" 拼接起来,创建一个新的文件路径 `spectrum_file`。
然后,创建一个 `Plot` 对象,并创建一个包含 x 轴和 y 轴标题的 `Layout` 对象。x 轴标题为 "Time (ns)",y 轴标题为 "Pixels activated"。
最后,使用 `set_layout()` 方法将 `layout` 应用到 `plot` 对象中。
阅读全文