pub struct ChartBuilder<'a, 'b, DB: DrawingBackend> { /* private fields */ }
Expand description
The helper object to create a chart context, which is used for the high-level figure drawing.
With the help of this object, we can convert a basic drawing area into a chart context, which allows the high-level charting API being used on the drawing area.
See ChartBuilder::on()
for more information and examples.
Implementations§
Source§impl<'a, 'b, DB: DrawingBackend> ChartBuilder<'a, 'b, DB>
impl<'a, 'b, DB: DrawingBackend> ChartBuilder<'a, 'b, DB>
Sourcepub fn on(root: &'a DrawingArea<DB, Shift>) -> Self
pub fn on(root: &'a DrawingArea<DB, Shift>) -> Self
Create a chart builder on the given drawing area
root
: The root drawing area- Returns: The chart builder object
§Example
use plotters::prelude::*;
let drawing_area = SVGBackend::new("chart_builder_on.svg", (300, 200)).into_drawing_area();
drawing_area.fill(&WHITE).unwrap();
let mut chart_builder = ChartBuilder::on(&drawing_area);
chart_builder.margin(5).set_left_and_bottom_label_area_size(35)
.caption("Figure title or caption", ("Calibri", 20, FontStyle::Italic, &RED).into_text_style(&drawing_area));
let mut chart_context = chart_builder.build_cartesian_2d(0.0..3.8, 0.0..2.8).unwrap();
chart_context.configure_mesh().draw().unwrap();
The result is a chart with customized margins, label area sizes, and title:
Sourcepub fn margin<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn margin<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the four margins of the chart.
size
: The desired size of the four chart margins in backend units (pixels).
See ChartBuilder::on()
for more information and examples.
Sourcepub fn margin_top<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn margin_top<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the top margin of the chart.
size
: The desired size of the margin in backend units (pixels).
See ChartBuilder::on()
for more information and examples.
Sourcepub fn margin_bottom<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn margin_bottom<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the bottom margin of the chart.
size
: The desired size of the margin in backend units (pixels).
See ChartBuilder::on()
for more information and examples.
Sourcepub fn margin_left<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn margin_left<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the left margin of the chart.
size
: The desired size of the margin in backend units (pixels).
See ChartBuilder::on()
for more information and examples.
Sourcepub fn margin_right<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn margin_right<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the right margin of the chart.
size
: The desired size of the margin in backend units (pixels).
See ChartBuilder::on()
for more information and examples.
Sourcepub fn set_all_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn set_all_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the four label areas of the chart.
size
: The desired size of the four label areas in backend units (pixels).
See ChartBuilder::on()
for more information and examples.
Sourcepub fn set_left_and_bottom_label_area_size<S: SizeDesc>(
&mut self,
size: S,
) -> &mut Self
pub fn set_left_and_bottom_label_area_size<S: SizeDesc>( &mut self, size: S, ) -> &mut Self
Sets the size of the left and bottom label areas of the chart.
size
: The desired size of the left and bottom label areas in backend units (pixels).
See ChartBuilder::on()
for more information and examples.
Sourcepub fn x_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn x_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the X label area at the bottom of the chart.
size
: The desired size of the X label area in backend units (pixels). If set to 0, the X label area is removed.
See ChartBuilder::on()
for more information and examples.
Sourcepub fn y_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn y_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the Y label area to the left of the chart.
size
: The desired size of the Y label area in backend units (pixels). If set to 0, the Y label area is removed.
See ChartBuilder::on()
for more information and examples.
Sourcepub fn top_x_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn top_x_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the X label area at the top of the chart.
size
: The desired size of the top X label area in backend units (pixels). If set to 0, the top X label area is removed.
See ChartBuilder::on()
for more information and examples.
Sourcepub fn right_y_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
pub fn right_y_label_area_size<S: SizeDesc>(&mut self, size: S) -> &mut Self
Sets the size of the Y label area to the right of the chart.
size
: The desired size of the Y label area in backend units (pixels). If set to 0, the Y label area to the right is removed.
See ChartBuilder::on()
for more information and examples.
Sourcepub fn set_label_area_size<S: SizeDesc>(
&mut self,
pos: LabelAreaPosition,
size: S,
) -> &mut Self
pub fn set_label_area_size<S: SizeDesc>( &mut self, pos: LabelAreaPosition, size: S, ) -> &mut Self
Sets the size of a chart label area.
pos
: The position of the desired label area to adjustsize
: The desired size of the label area in backend units (pixels). If set to 0, the label area is removed.
See ChartBuilder::on()
for more information and examples.
Sets the title or caption of the chart.
caption
: The caption of the chartstyle
: The text style
The title or caption will be centered at the top of the drawing area.
See ChartBuilder::on()
for more information and examples.
Sourcepub fn build_ranged<'c, X: AsRangedCoord, Y: AsRangedCoord>(
&mut self,
x_spec: X,
y_spec: Y,
) -> Result<ChartContext<'c, DB, Cartesian2d<X::CoordDescType, Y::CoordDescType>>, DrawingAreaErrorKind<DB::ErrorType>>
👎Deprecated: build_ranged
has been renamed to build_cartesian_2d
and is to be removed in the future.
pub fn build_ranged<'c, X: AsRangedCoord, Y: AsRangedCoord>( &mut self, x_spec: X, y_spec: Y, ) -> Result<ChartContext<'c, DB, Cartesian2d<X::CoordDescType, Y::CoordDescType>>, DrawingAreaErrorKind<DB::ErrorType>>
build_ranged
has been renamed to build_cartesian_2d
and is to be removed in the future.This function has been renamed to ChartBuilder::build_cartesian_2d()
and is to be removed in the future.
Sourcepub fn build_cartesian_2d<'c, X: AsRangedCoord, Y: AsRangedCoord>(
&mut self,
x_spec: X,
y_spec: Y,
) -> Result<ChartContext<'c, DB, Cartesian2d<X::CoordDescType, Y::CoordDescType>>, DrawingAreaErrorKind<DB::ErrorType>>
pub fn build_cartesian_2d<'c, X: AsRangedCoord, Y: AsRangedCoord>( &mut self, x_spec: X, y_spec: Y, ) -> Result<ChartContext<'c, DB, Cartesian2d<X::CoordDescType, Y::CoordDescType>>, DrawingAreaErrorKind<DB::ErrorType>>
Builds a chart with a 2D Cartesian coordinate system.
x_spec
: Specifies the X axis range and data propertiesy_spec
: Specifies the Y axis range and data properties- Returns: A
ChartContext
object, ready to visualize data.
See ChartBuilder::on()
and ChartContext::configure_mesh()
for more information and examples.
Sourcepub fn build_cartesian_3d<'c, X: AsRangedCoord, Y: AsRangedCoord, Z: AsRangedCoord>(
&mut self,
x_spec: X,
y_spec: Y,
z_spec: Z,
) -> Result<ChartContext<'c, DB, Cartesian3d<X::CoordDescType, Y::CoordDescType, Z::CoordDescType>>, DrawingAreaErrorKind<DB::ErrorType>>
pub fn build_cartesian_3d<'c, X: AsRangedCoord, Y: AsRangedCoord, Z: AsRangedCoord>( &mut self, x_spec: X, y_spec: Y, z_spec: Z, ) -> Result<ChartContext<'c, DB, Cartesian3d<X::CoordDescType, Y::CoordDescType, Z::CoordDescType>>, DrawingAreaErrorKind<DB::ErrorType>>
Builds a chart with a 3D Cartesian coordinate system.
x_spec
: Specifies the X axis range and data propertiesy_spec
: Specifies the Y axis range and data propertiesz_sepc
: Specifies the Z axis range and data properties- Returns: A
ChartContext
object, ready to visualize data.
See ChartBuilder::on()
and ChartContext::configure_axes()
for more information and examples.
Auto Trait Implementations§
impl<'a, 'b, DB> Freeze for ChartBuilder<'a, 'b, DB>
impl<'a, 'b, DB> !RefUnwindSafe for ChartBuilder<'a, 'b, DB>
impl<'a, 'b, DB> !Send for ChartBuilder<'a, 'b, DB>
impl<'a, 'b, DB> !Sync for ChartBuilder<'a, 'b, DB>
impl<'a, 'b, DB> Unpin for ChartBuilder<'a, 'b, DB>
impl<'a, 'b, DB> !UnwindSafe for ChartBuilder<'a, 'b, DB>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 184 bytes