Easy plotter and saver of simple data. Handy tool for development stage or small computational projects. Save data, have a quick view and an initial gnuplot script to plot it.
If you are looking for a pure Rust plotter, check out plotters
.
Do you have a costly process in Rust and want to save the data for postprocessing?
Would you like to still have a basic glance to check it and leave fine-tuning of the plot for later?
This is the crate for you!
- Compute your thing in Rust
- Pass the results to a suitable struct from
preexplorer
, or use thepreexplore
method. - Use the method
plot
orplot_later
.
After cargo run
, your data is saved and a suitable first script for gnuplot to plot the data is saved. If you used plot
, you will get a plot by gnuplot that you can save.
The gnuplot script is located in
target\\preexplorer\\plots\\my_identifier.gnu
where my_identifier
is the name you gave in rust to the plot.
Therefore, to run it in gnuplot (and get the plot again), run from the console
gnuplot target\\preexplorer\\plots\\my_identifier.gnu
-
Want a different plot? Change this file according to your needs and run again.
-
Want to use gnuplot as an interactive plotting engine? Run
gnuplot
in the console, copy and paste the script and keep going with your favorite gnuplot commands.
- Easy plotting
- Easy comparison
- Implementable traits
- Extensive documentation
For more, see the folder examples.
- Download and install gnuplot, a command line engine for plotting. (Note that the gnuplot project has nothing to do with GNU).
- Add
preexplorer = "*"
to yourCargo.toml
file under[dependencies]
. - I suggest to simply go with
use preexplorer::prelude::*;
in your binary, and then use the short-namepre::...
and thepreexplore
method directly in iterators and tuple of iterators.
- When comparing processes (
Process
-related structs), why must they be the same structs? The comparison of processes (Processes
-related structs) are a collection of processes. As such, it works asVec<Process>
, so two process structs must be the same type to be compared. - Are there n-dimensional variants?
No, it is out of scope. If you want to implement similar functionalities, you can do so easily based on the source code for
Data
. - How to deactivate some options, e.g. tics?
All structs implement the trait
Configurable
. Each option has documented how to disable it in its corresponding method.
There is no connection with the gnuplot project.
See Changelog.
Has this project been useful to you? How? :) Let me know through a github issue!
- debug_plotter
- Convenient macro to quickly plot variables using pure Rust
plotters
crate
- Convenient macro to quickly plot variables using pure Rust