[−][src]Crate implot
Rust bindings to ImPlot
This crate contains idiomatic bindings to the C++ implot library,
which use the bindings exposed by the implot-sys
crate. An attempt is made to keep
documentation here somewhat self-contained, but when in doubt, the documentation of implot
itself (in particular also the demo code here)
should help as well.
For usage examples, see the implot-examples
crate - it contains standalone runnable examples
that showcase the API and features of this crate. The Github readme
lists the features that are already implemented as idiomatic bindings. For everything else, if
you'd really like a particular feature, file an issue and it'll be given priority for wrapping,
or directly contribute a PR, or use the low-level bindings directly for the time being.
Structs
AxisFlags | Axis flags. Documentation copied from implot.h for convenience. ImPlot itself also
has |
Context | An implot context. |
ImPlotLimits | |
ImPlotPoint | |
ImPlotRange | |
ImVec2 | |
ImVec4 | |
Plot | Struct to represent an ImPlot. This is the main construct used to contain all kinds of plots in ImPlot. |
PlotBars | Struct to provide bar plotting functionality. |
PlotFlags | Flags for customizing plot behavior and interaction. Documentation copied from implot.h for
convenience. ImPlot itself also has a "CanvasOnly" flag, which can be emulated here with
the combination of |
PlotLine | Struct to provide functionality for plotting a line in a plot. |
PlotScatter | Struct to provide functionality for creating a scatter plot |
PlotStairs | Struct to provide functionality for plotting a line in a plot with stairs style. |
PlotText | Struct to provide functionality for adding text within a plot |
PlotToken | Tracks a plot that must be ended by calling |
PlotUi | A temporary reference for building plots. This does not really do anything on its own at this point, but it is used to enforce that a context is created and active for other features, such as creating plots. |
StyleColorToken | Tracks a change pushed to the style color stack |
StyleVarToken | Tracks a change pushed to the style variable stack |
Enums
Colormap | Colormap choice. Documentation copied from implot.h for convenience. |
Condition | Condition for applying a setting |
Marker | Markers, documentation copied from implot.h for convenience. |
PlotColorElement | Colorable plot elements. These are called "ImPlotCol" in ImPlot itself, but I found that name somewhat confusing because we are not referring to colors, but which thing can be colored - hence I added the "Element". |
PlotLocation | Used to position items on a plot (e.g. legends, labels, etc.) |
PlotOrientation | Used to orient items on a plot (e.g. legends, labels, etc.) |
StyleVar | |
YAxisChoice | Choice of Y axis. This an enum instead of just an integer so as to make it impossible
to select a Y axis that is not present - this makes it easier to avoid |
Functions
get_plot_limits | Returns the current or most recent plot axis range for the specified choice of Y axis. If
|
get_plot_mouse_position | Returns the mouse position in x,y coordinates of the current or most recent plot,
for the specified choice of Y axis. If |
get_plot_query | Returns the query limits of the current or most recent plot, for the specified choice of Y
axis. If |
is_plot_hovered | Returns true if the plot area in the current or most recent plot is hovered. |
is_plot_queried | Returns true if the current or most recent plot is queried |
is_plot_x_axis_hovered | Returns true if the XAxis plot area in the current plot is hovered. |
is_plot_y_axis_hovered | Returns true if the YAxis[n] plot area in the current plot is hovered. If |
pixels_to_plot_f32 | Convert pixels, given as floats |
pixels_to_plot_vec2 | Convert pixels, given as an |
plot_to_pixels_f32 | Convert a position in the current plot's coordinate system to pixels. Uses the specified Y axis, if any, otherwise whatever was previously chosen. |
plot_to_pixels_vec2 | Convert a position in the current plot's coordinate system to pixels. Uses the specified Y axis, if any, otherwise whatever was previously chosen. |
push_style_color | Push a style color to the stack, giving an element and the four components of the color. The components should be between 0.0 (no intensity) and 1.0 (full intensity). The return value is a token that gets used for removing the style color from the stack again: |
push_style_var_f32 | Push a f32 style variable to the stack. The returned token is used for removing the variable from the stack again: |
push_style_var_i32 | Push an u32 style variable to the stack. The only i32 style variable is Marker at the moment, for that, use something like |
push_style_var_imvec2 | Push an ImVec2 style variable to the stack. The returned token is used for removing the variable from the stack again. |
set_colormap_from_preset | Switch to one of the built-in preset colormaps. If samples is greater than 1, the map will be linearly resampled. |
set_colormap_from_vec | Set a custom colormap in the form of a vector of colors. |
set_plot_y_axis | Set the Y axis to be used for any upcoming plot elements |
show_demo_window | Show the demo window for poking around what functionality implot has to offer. Note that not all of this is necessarily implemented in implot-rs already - if you find something missing you'd really like, raise an issue. |