pub trait PlottingBackend {
// Required methods
fn save_to_file(
&self,
data: &VisualizationData,
metadata: &VisualizationMetadata,
options: &VisualizationOptions,
path: impl AsRef<Path>,
) -> Result<(), Box<dyn Error>>;
fn render_svg(
&self,
data: &VisualizationData,
metadata: &VisualizationMetadata,
options: &VisualizationOptions,
) -> Result<Vec<u8>, Box<dyn Error>>;
fn render_png(
&self,
data: &VisualizationData,
metadata: &VisualizationMetadata,
options: &VisualizationOptions,
) -> Result<Vec<u8>, Box<dyn Error>>;
}Expand description
A trait for plotting backends
This trait provides a common interface for rendering visualizations using different plotting libraries. It allows metrics visualizations to be rendered using the most appropriate backend for a given application.
Required Methods§
Sourcefn save_to_file(
&self,
data: &VisualizationData,
metadata: &VisualizationMetadata,
options: &VisualizationOptions,
path: impl AsRef<Path>,
) -> Result<(), Box<dyn Error>>
fn save_to_file( &self, data: &VisualizationData, metadata: &VisualizationMetadata, options: &VisualizationOptions, path: impl AsRef<Path>, ) -> Result<(), Box<dyn Error>>
Save a visualization to a file
§Arguments
data- The visualization data to rendermetadata- The visualization metadata (title, labels, etc.)options- Options for the visualization (size, dpi, etc.)path- The output file path
§Returns
Result<(), Box<dyn Error>>- Ok if the visualization was successfully saved, or an error if something went wrong
Sourcefn render_svg(
&self,
data: &VisualizationData,
metadata: &VisualizationMetadata,
options: &VisualizationOptions,
) -> Result<Vec<u8>, Box<dyn Error>>
fn render_svg( &self, data: &VisualizationData, metadata: &VisualizationMetadata, options: &VisualizationOptions, ) -> Result<Vec<u8>, Box<dyn Error>>
Render a visualization to a byte array as SVG
§Arguments
data- The visualization data to rendermetadata- The visualization metadata (title, labels, etc.)options- Options for the visualization (size, dpi, etc.)
§Returns
Result<Vec<u8>, Box<dyn Error>>- A byte array containing the SVG representation of the visualization
Sourcefn render_png(
&self,
data: &VisualizationData,
metadata: &VisualizationMetadata,
options: &VisualizationOptions,
) -> Result<Vec<u8>, Box<dyn Error>>
fn render_png( &self, data: &VisualizationData, metadata: &VisualizationMetadata, options: &VisualizationOptions, ) -> Result<Vec<u8>, Box<dyn Error>>
Render a visualization to a byte array as PNG
§Arguments
data- The visualization data to rendermetadata- The visualization metadata (title, labels, etc.)options- Options for the visualization (size, dpi, etc.)
§Returns
Result<Vec<u8>, Box<dyn Error>>- A byte array containing the PNG representation of the visualization
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.