NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #491 most downloaded on crates.io
A Rust drawing library focus on data plotting for both WASM and native applications
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 3 weeks to 1.1 years
Most releases are documented
notes for 22 of 36 stable releases
3 versions withdrawn
withdrawn after publishing
7 years old
39 releases · first in 2019
Nothing published for this version
Add Clone and PartialEq traits to SeriesLabelPosition and ShapeStyle
Fix broken unaligned read in unsafe code
One column per quarter.
Plotters core crate update
Plotters core crate update
The EvcxR integration now supports bitmap output. (Thanks to @lisanhu)
Release tag for Plotters 0.3.2 release
Release tag for Plotters 0.3.2 release
Surface series now supports more customizations
This is the next major release of Plotters, see release notes for more details.
This is the next major release of Plotters, see release notes for more details.
PartialOrd.MeshStyle::line\_style\_1 and MeshStyle::line\_style\_2 to bold\_line\_style and light\_line\_styleDebug trait for chart coordinate, allows ranged coordinate define its own formatting function.Path name alias for PathElementplotters::drawing::backend\_impl::\* (expect MockedBackend for testing purpose) is removed due to crate split.Plotters 0.2.15 release
Plotters 0.2.15 release
Plotters 0.2.14 release
Plotters 0.2.14 release
Plotters 0.2.13 release
Plotters 0.2.13 release
BitMapBackend now is able to support different pixel format natively. Check our new minifb demo for details.
plotters::style::text::text_anchor for details. (Thanks to @nuald)TextAlignment to the text style (Thanks to @nauld)Add font style support, now we are able to set font variations: normal, oblique, italic or bold.
serif, serif-sans, monospace (Thanks to @Tatrix)BitMapBackend isn't depends on image crate now. Only the image encoding part relies on the image cratewasm-pack (Thanks to @Tatrix)x\_label\_style and y\_label\_style. (Thanks to @zhiburt)Refactored and simplified TTF font cache, use RwLock instead of mutex which may benefit for parallel rendering. (Thanks to @Tatrix)
Avoid copying image buffer when manipulate the image. (Thanks to @ralfbiedert)
Cairo backend, which supports using Plotters draw a GTK surface.
(10).percent\_height() means we want the size is 10% of parent's height.ChartBuilder::set\_\label\_area\_overlap.FontError from rusttype isn't Sync and Send. We don't have trait bound to ensure this. (Thanks to @dalance)disable_mesh and disable_axesGIF Support, now bitmap backend is able to render gif animation
Allowing axis be placed on top or right by setting right_y_label_area and top_x_label_area
right_y_label_area and top_x_label_areaChartContext::set_secondary_coord. And draw_secondary_axes to configure the style of secondary axes. Use draw_secondary axis to draw series under the secondary coordinate system.y_label_offset. Previously only X axis label supports offset attribute.set_label_area_size can be used for all 4 label areaPartialAxis which allows the partially rendered axis. For example, we can define the chart's axis range as 0..1, but only 0.3..0.7 is rendered on axis. This can be done by (0.0..1.0).partial_axis(0.3..0.7)Key points algorithm for numeric coordinate might not respect the constraint
Add i128 and u128 as coordinate type (Credit to @Geemili)
i128 and u128 as coordinate type (Credit to @Geemili)Color system now is based on palette crate (Credit to @Veykril)
palette crate (Credit to @Veykril)More documentation: a Jupyter interactive notebook of Plotters tutorial
SeriesLabelPosition (Credit to @wolfjagger).DrawingArea::split_by_breakpointsBitMapBackend takes an in memory mutable bufferMove the sample images and other documentation data out of this repository.
Add relative sizing by added function DrawingArea::relative_to_height and DrawingArea::relative_to_width.
DrawingArea::relative_to_height and DrawingArea::relative_to_width.&Rc<RefCell<DrawingBackend>>. Previously, the drawing area creation requires take over the drawing backend ownership. But sometimes the drawing backend may have additional options. With new API, this can be done by putting the backend drawing area into smart pointers, thus, the drawing backend is accessible after creates the root drawing area.Font is now support rotation transformation. Use FontDesc::transform to apply an rotation to transformation. For example, font.transform(FontTransform
FontDesc::transform to apply an rotation to transformation. For example, font.transform(FontTransform::Rotate90).MeshStyle::x_desc and MeshStyle::y_desc to specify the axis description text.ChartContext::draw_series now returns a struct SeriesAnno that collects the additional information for series labeling. ChartContext::draw_series_labels are used to actually draw the series label. (See examples/chart.rs for detailed examples)OwnedText and Text into Text. Previously, OwnedText and Text are two separate types, one holds a String another holds a &str. Now OwnedText is removed.
use Text::new("text".to_string(),...) for owned text element and Text::new("text", ...) for borrowed text.New abstraction of backend style with BackendStyle trait which should be able to extend easier in the future
BackendStyle trait which should be able to extend easier in the futureIntoDrawingArea, now we can use backend.into_drawing_area() to convert the backend into a raw drawing areaelement.into_dyn() to convert the element into a runtime dispatching elementpresent function which indicates the end of drawing one frameChartBuilder::title and ChartBuilder::margin cannot be called at the same time && build_ranged now returning a result.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →