fiftyone.core.plots¶
Module contents¶
Plotting framework.
Functions:
|
Plots a confusion matrix. |
|
Plots the given regression results. |
|
Plots a precision-recall (PR) curve. |
|
Plots a set of per-class precision-recall (PR) curves. |
|
Plots a receiver operating characteristic (ROC) curve. |
|
Plots the given lines(s) data. |
|
Generates an interactive scatterplot of the given points. |
|
Generates an interactive scatterplot of the given location coordinates with a map rendered in the background of the plot. |
Classes:
|
Base class for all plots. |
|
Base class for all responsive plots that can push/pull updates to a linked object. |
|
Base class for plots that support selection of their points. |
|
Base class for plots that can be automatically populated given a |
|
Class that manages communication between a |
|
A grid of |
|
A histogram of a categorial field. |
|
A histogram of a numerical field. |
-
fiftyone.core.plots.
plot_confusion_matrix
(confusion_matrix, labels, ids=None, samples=None, eval_key=None, gt_field=None, pred_field=None, backend='plotly', **kwargs)¶ Plots a confusion matrix.
If
ids
are provided and you are working in a notebook environment with the default plotly backend, this method returns an interactivefiftyone.core.plots.plotly.InteractiveHeatmap
that you can attach to an App session via itsfiftyone.core.session.Session.plots
attribute, which will automatically sync the session’s view with the currently selected cells in the confusion matrix.- Parameters
confusion_matrix – a
num_true x num_preds
confusion matrixlabels – a
max(num_true, num_preds)
array-like of class labelsids (None) – an array-like of same shape as
confusion_matrix
containing lists of IDs corresponding to each cellsamples (None) – the
fiftyone.core.collections.SampleCollection
for which the confusion matrix was generatedeval_key (None) – the evaluation key of the evaluation
gt_field (None) – the name of the ground truth field
pred_field (None) – the name of the predictions field
backend ("plotly") – the plotting backend to use. Supported values are
("plotly", "matplotlib")
**kwargs –
keyword arguments for the backend plotting method:
”plotly” backend:
fiftyone.core.plots.plotly.plot_confusion_matrix()
”matplotlib” backend:
fiftyone.core.plots.matplotlib.plot_confusion_matrix()
- Returns
one of the following
a
fiftyone.core.plots.plotly.InteractiveHeatmap
, if IDs are available and the plotly backend is useda
fiftyone.core.plots.plotly.PlotlyNotebookPlot
, if no IDs are available but you are working in a Jupyter notebook with the plotly backenda plotly or matplotlib figure, otherwise
-
fiftyone.core.plots.
plot_regressions
(ytrue, ypred, samples=None, ids=None, labels=None, sizes=None, classes=None, gt_field=None, pred_field=None, backend='plotly', **kwargs)¶ Plots the given regression results.
If IDs are provided and you are working in a notebook environment with the default plotly backend, this method returns an interactive
fiftyone.core.plots.plotly.InteractiveScatter
that you can attach to an App session via itsfiftyone.core.session.Session.plots
attribute, which will automatically sync the session’s view with the currently selected points in the plot.- Parameters
ytrue – an array-like of ground truth values
ypred – an array-like of predicted values
samples (None) – the
fiftyone.core.collections.SampleCollection
for which the results were generated. Only used by the “plotly” backend when IDs are providedids (None) – an array-like of sample or frame IDs corresponding to the regressions. If not provided but
samples
are provided, the appropriate IDs will be extracted from the sampleslabels (None) –
data to use to color the points. Can be any of the following:
the name of a sample field or
embedded.field.name
ofsamples
from which to extract numeric or string valuesa
fiftyone.core.expressions.ViewExpression
defining numeric or string values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
an array-like of numeric or string values
a list of array-likes of numeric or string values, if
link_field
refers to frames
sizes (None) –
data to use to scale the sizes of the points. Can be any of the following:
the name of a sample field or
embedded.field.name
ofsamples
from which to extract numeric valuesa
fiftyone.core.expressions.ViewExpression
defining numeric values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
an array-like of numeric values
a list of array-likes of numeric or string values, if
link_field
refers to frames
classes (None) – a list of classes whose points to plot. Only applicable when
labels
contains stringsgt_field (None) – the name of the ground truth field
pred_field (None) – the name of the predictions field
backend ("plotly") – the plotting backend to use. Supported values are
("plotly", "matplotlib")
**kwargs –
keyword arguments for the backend plotting method:
”plotly” backend:
fiftyone.core.plots.plotly.plot_confusion_matrix()
”matplotlib” backend:
fiftyone.core.plots.matplotlib.plot_confusion_matrix()
- Returns
one of the following
a
fiftyone.core.plots.plotly.InteractiveScatter
, if IDs are available and the plotly backend is useda
fiftyone.core.plots.plotly.PlotlyNotebookPlot
, if no IDs are available but you are working in a Jupyter notebook with the plotly backenda plotly or matplotlib figure, otherwise
-
fiftyone.core.plots.
plot_pr_curve
(precision, recall, thresholds=None, label=None, backend='plotly', **kwargs)¶ Plots a precision-recall (PR) curve.
- Parameters
precision – an array-like of precision values
recall – an array-like of recall values
thresholds (None) – an array-like of decision thresholds
label (None) – a label for the curve
backend ("plotly") – the plotting backend to use. Supported values are
("plotly", "matplotlib")
**kwargs –
keyword arguments for the backend plotting method:
”plotly” backend:
fiftyone.core.plots.plotly.plot_pr_curve()
”matplotlib” backend:
fiftyone.core.plots.matplotlib.plot_pr_curve()
- Returns
one of the following
a
fiftyone.core.plots.plotly.PlotlyNotebookPlot
, if you are working in a Jupyter notebook and the plotly backend is useda plotly or matplotlib figure, otherwise
-
fiftyone.core.plots.
plot_pr_curves
(precisions, recall, classes, thresholds=None, backend='plotly', **kwargs)¶ Plots a set of per-class precision-recall (PR) curves.
- Parameters
precisions – a
num_classes x num_recalls
array-like of per-class precision valuesrecall – an array-like of recall values
classes – the list of classes
thresholds (None) – an
num_classes x num_recalls
array-like of decision thresholdsbackend ("plotly") – the plotting backend to use. Supported values are
("plotly", "matplotlib")
**kwargs –
keyword arguments for the backend plotting method:
”plotly” backend:
fiftyone.core.plots.plotly.plot_pr_curves()
”matplotlib” backend:
fiftyone.core.plots.matplotlib.plot_pr_curves()
- Returns
one of the following
a
fiftyone.core.plots.plotly.PlotlyNotebookPlot
, if you are working in a Jupyter notebook and the plotly backend is useda plotly or matplotlib figure, otherwise
-
fiftyone.core.plots.
plot_roc_curve
(fpr, tpr, thresholds=None, roc_auc=None, backend='plotly', **kwargs)¶ Plots a receiver operating characteristic (ROC) curve.
- Parameters
fpr – an array-like of false positive rates
tpr – an array-like of true positive rates
thresholds (None) – an array-like of decision thresholds
roc_auc (None) – the area under the ROC curve
backend ("plotly") – the plotting backend to use. Supported values are
("plotly", "matplotlib")
**kwargs –
keyword arguments for the backend plotting method:
”plotly” backend:
fiftyone.core.plots.plotly.plot_roc_curve()
”matplotlib” backend:
fiftyone.core.plots.matplotlib.plot_roc_curve()
- Returns
one of the following
a
fiftyone.core.plots.plotly.PlotlyNotebookPlot
, if you are working in a Jupyter notebook and the plotly backend is useda plotly or matplotlib figure, otherwise
-
fiftyone.core.plots.
lines
(x=None, y=None, samples=None, ids=None, link_field=None, sizes=None, backend='plotly', **kwargs)¶ Plots the given lines(s) data.
You can attach plots generated by this method to an App session via its
fiftyone.core.session.Session.plots
attribute, which will automatically sync the session’s view with the currently selected points in the plot. To enable this functionality, you must passsamples
to this method.You can use the
sizes
parameter to scale the sizes of the points.- Parameters
x (None) –
the x data to plot. Can be any of the following:
an array-like of values
a
num_lines x n
array-like or list of lengthnum_lines
of array-likes of values for multiple line tracesthe name of a sample field or
embedded.field.name
ofsamples
from which to extract values for a single linethe name of a frame field or
frames.embedded.field.name
ofsamples
from which to extract values for per-sample line tracesa
fiftyone.core.expressions.ViewExpression
that resolves to a list (one line plot) or list of lists (multiple line plots) of numeric values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
y (None) –
the y data to plot. Can be any of the following:
an array-like of values
a
num_lines x n
array-like or list of lengthnum_lines
of array-likes of values for multiple line tracesthe name of a sample field or
embedded.field.name
ofsamples
from which to extract values for a single linethe name of a frame field or
frames.embedded.field.name
ofsamples
from which to extract values for per-sample line tracesa
fiftyone.core.expressions.ViewExpression
that resolves to a list (one line plot) or list of lists (multiple line plots) of numeric values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
samples (None) – the
fiftyone.core.collections.SampleCollection
whose data is being visualizedids (None) – an array-like of IDs of same shape as
y
. If not provided butsamples
are provided, the appropriate IDs will be extracted from the sampleslink_field (None) –
a field of
samples
whose data corresponds toy
. Can be any of the following:None
, if the line data correspond to samples (single trace) or frames (multiple traces)"frames"
, if the line data correspond to frames (multiple traces). This option exists only for consistency with other plotting methods; in practice, it will be automatically inferred whenever multiple traces are being plottedthe name of a
fiftyone.core.labels.Label
field, if the line data correspond to the labels in this field
sizes (None) –
data to use to scale the sizes of the points. Can be any of the following:
an array-like of numeric values of same shape as
y
the name of a sample field (single trace) or frame field (multiple traces) from which to extract numeric values
a
fiftyone.core.expressions.ViewExpression
defining sample-level (single trace) or frame-level (multiple traces) numeric values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
backend ("plotly") – the plotting backend to use. Supported values are
("plotly", "matplotlib")
**kwargs –
keyword arguments for the backend plotting method:
”plotly” backend:
fiftyone.core.plots.plotly.lines()
”matplotlib” backend:
fiftyone.core.plots.matplotlib.lines()
- Returns
one of the following
an
InteractivePlot
, if IDs are availablea
fiftyone.core.plots.plotly.PlotlyNotebookPlot
, if IDs are not available but you are working with the plotly backend in a Jupyter notebooka plotly or matplotlib figure, otherwise
-
fiftyone.core.plots.
scatterplot
(points, samples=None, ids=None, link_field=None, labels=None, sizes=None, classes=None, backend='plotly', **kwargs)¶ Generates an interactive scatterplot of the given points.
You can attach plots generated by this method to an App session via its
fiftyone.core.session.Session.plots
attribute, which will automatically sync the session’s view with the currently selected points in the plot. To enable this functionality, you must passsamples
to this method.This method supports 2D or 3D visualizations, but interactive point selection is only available in 2D.
You can use the
labels
parameters to define a coloring for the points, and you can use thesizes
parameter to scale the sizes of the points.- Parameters
points – a
num_points x num_dims
array-like of pointssamples (None) – the
fiftyone.core.collections.SampleCollection
whose data is being visualizedids (None) – an array-like of IDs corresponding to the points. If not provided but
samples
are provided, the appropriate IDs will be extracted from the sampleslink_field (None) –
a field of
samples
whose data corresponds topoints
. Can be any of the following:None, if the points correspond to samples
"frames"
, if the points correspond to framesthe name of a
fiftyone.core.labels.Label
field, if the points linked to the labels in this field
labels (None) –
data to use to color the points. Can be any of the following:
the name of a sample field or
embedded.field.name
ofsamples
from which to extract numeric or string valuesa
fiftyone.core.expressions.ViewExpression
defining numeric or string values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
an array-like of numeric or string values
a list of array-likes of numeric or string values, if
link_field
refers to a label list field likefiftyone.core.labels.Detections
sizes (None) –
data to use to scale the sizes of the points. Can be any of the following:
the name of a sample field or
embedded.field.name
ofsamples
from which to extract numeric valuesa
fiftyone.core.expressions.ViewExpression
defining numeric values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
an array-like of numeric values
a list of array-likes of numeric or string values, if
link_field
refers to a label list field likefiftyone.core.labels.Detections
classes (None) – an list of classes whose points to plot. Only applicable when
labels
contains stringsbackend ("plotly") – the plotting backend to use. Supported values are
("plotly", "matplotlib")
**kwargs –
keyword arguments for the backend plotting method:
”plotly” backend:
fiftyone.core.plots.plotly.scatterplot()
”matplotlib” backend:
fiftyone.core.plots.matplotlib.scatterplot()
- Returns
one of the following
an
InteractivePlot
, if IDs are availablea
fiftyone.core.plots.plotly.PlotlyNotebookPlot
, if IDs are not available but you are working with the plotly backend in a Jupyter notebooka plotly or matplotlib figure, otherwise
-
fiftyone.core.plots.
location_scatterplot
(locations=None, samples=None, ids=None, labels=None, sizes=None, classes=None, backend='plotly', **kwargs)¶ Generates an interactive scatterplot of the given location coordinates with a map rendered in the background of the plot.
Location data is specified via the
locations
parameter.You can attach plots generated by this method to an App session via its
fiftyone.core.session.Session.plots
attribute, which will automatically sync the session’s view with the currently selected points in the plot. To enable this functionality, you must passsamples
to this method.You can use the
labels
parameters to define a coloring for the points, and you can use thesizes
parameter to scale the sizes of the points.- Parameters
locations (None) –
the location data to plot. Can be any of the following:
None, in which case
samples
must have a singlefiftyone.core.labels.GeoLocation
field whosepoint
attribute contains location dataa
num_locations x 2
array of(longitude, latitude)
coordinatesthe name of a
fiftyone.core.labels.GeoLocation
field ofsamples
with(longitude, latitude)
coordinates in itspoint
attribute
samples (None) – the
fiftyone.core.collections.SampleCollection
whose data is being visualizedids (None) – an array-like of IDs corresponding to the locations. If not provided but
samples
are provided, the appropriate IDs will be extracted from the sampleslabels (None) –
data to use to color the points. Can be any of the following:
the name of a sample field or
embedded.field.name
ofsamples
from which to extract numeric or string valuesa
fiftyone.core.expressions.ViewExpression
defining numeric or string values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
an array-like of numeric or string values
sizes (None) –
data to use to scale the sizes of the points. Can be any of the following:
the name of a sample field or
embedded.field.name
ofsamples
from which to extract numeric valuesa
fiftyone.core.expressions.ViewExpression
defining numeric values to compute fromsamples
viafiftyone.core.collections.SampleCollection.values()
an array-like of numeric values
classes (None) – a list of classes whose points to plot. Only applicable when
labels
contains stringsbackend ("plotly") – the plotting backend to use. Supported values are
("plotly", "matplotlib")
**kwargs –
keyword arguments for the backend plotting method:
”plotly” backend:
fiftyone.core.plots.plotly.location_scatterplot()
”matplotlib” backend:
fiftyone.core.plots.matplotlib.location_scatterplot()
- Returns
one of the following
an
InteractivePlot
, if IDs are availablea
fiftyone.core.plots.plotly.PlotlyNotebookPlot
, if IDs are not available but you are working with the plotly backend in a Jupyter notebooka plotly or matplotlib figure, otherwise
-
class
fiftyone.core.plots.
Plot
¶ Bases:
object
Base class for all plots.
Attributes:
Whether this plot is currently frozen.
Methods:
show
(**kwargs)Shows the plot.
save
(path, **kwargs)Saves the plot.
freeze
()Freezes the plot, replacing it with a static image.
-
property
is_frozen
¶ Whether this plot is currently frozen.
-
show
(**kwargs)¶ Shows the plot.
- Parameters
**kwargs – subclass-specific keyword arguments
-
save
(path, **kwargs)¶ Saves the plot.
- Parameters
path – the path to write the plot
**kwargs – subclass-specific keyword arguments
-
freeze
()¶ Freezes the plot, replacing it with a static image.
Only applicable in notebook contexts.
-
property
-
class
fiftyone.core.plots.
ResponsivePlot
(link_type)¶ Bases:
fiftyone.core.plots.base.Plot
Base class for all responsive plots that can push/pull updates to a linked object.
- Parameters
link_type – the link type of the plot
Attributes:
The link type between this plot and a connected session.
Whether this plot supports automatic updates in response to session changes.
Whether this plot is currently connected.
Whether this plot is currently disconnected.
Whether this plot is currently frozen.
Methods:
connect
()Connects this plot, if necessary.
show
(**kwargs)Shows the plot.
reset
()Resets the plot to its default state.
freeze
()Freezes the plot, replacing it with a static image.
Disconnects the plot, if necessary.
save
(path, **kwargs)Saves the plot.
-
property
link_type
¶ The link type between this plot and a connected session.
-
property
supports_session_updates
¶ Whether this plot supports automatic updates in response to session changes.
-
property
is_connected
¶ Whether this plot is currently connected.
-
property
is_disconnected
¶ Whether this plot is currently disconnected.
-
property
is_frozen
¶ Whether this plot is currently frozen.
-
connect
()¶ Connects this plot, if necessary.
-
show
(**kwargs)¶ Shows the plot.
The plot will be connected if necessary.
- Parameters
**kwargs – subclass-specific keyword arguments
-
reset
()¶ Resets the plot to its default state.
-
freeze
()¶ Freezes the plot, replacing it with a static image.
The plot will also be disconnected.
Only applicable in notebook contexts.
-
disconnect
()¶ Disconnects the plot, if necessary.
-
save
(path, **kwargs)¶ Saves the plot.
- Parameters
path – the path to write the plot
**kwargs – subclass-specific keyword arguments
-
class
fiftyone.core.plots.
InteractivePlot
(link_type='samples', init_view=None, label_fields=None, selection_mode=None, init_fcn=None)¶ Bases:
fiftyone.core.plots.base.ResponsivePlot
Base class for plots that support selection of their points.
Whenever a selection is made in an
InteractivePlot
, the plot will invoke any selection callback(s) registered on it, reporting to its listeners the IDs of its selected points.Conversely, the state of an
InteractivePlot
can be updated by external parties by calling itsselect_ids()
method.- Parameters
link_type ("samples") – whether this plot is linked to
"samples"
,"frames"
, or"labels"
init_view (None) – a
fiftyone.core.collections.SampleCollection
defining an initial view from which to derive selection views when points are selected in the plot. This view will also be shown when the plot is in its default state (no selection)label_fields (None) – a label field or list of label fields to which points in this plot correspond. Only applicable when
link_type == "labels"
selection_mode (None) – the initial selection mode to use when updating connected sessions in response to selections in this plot. See
selection_mode()
for detailsinit_fcn (None) – a function that can be called with
init_view
as its argument that returns afiftyone.core.collections.SampleCollection
defining an initial view from which to derive certain types of selection views. Seeselection_mode()
for details
Attributes:
The current selection mode of the plot.
A
fiftyone.core.collections.SampleCollection
defining the initial view from which to derive selection views when points are selected in the plot.A list of IDs of the currently selected points.
Whether this plot is currently connected.
Whether this plot is currently disconnected.
Whether this plot is currently frozen.
The link type between this plot and a connected session.
Whether this plot supports automatic updates in response to session changes.
Methods:
recommend_link_type
([label_field, samples])Recommends a link type for the given info.
register_selection_callback
(callback)Registers a selection callback for this plot.
register_sync_callback
(callback)Registers a callback that can sync this plot with a
SessionPlot
connected to it.register_disconnect_callback
(callback)Registers a callback that can disconnect this plot from a
SessionPlot
connected to it.select_ids
(ids[, view])Selects the points with the given IDs in this plot.
connect
()Connects this plot, if necessary.
Disconnects the plot, if necessary.
freeze
()Freezes the plot, replacing it with a static image.
save
(path, **kwargs)Saves the plot.
show
(**kwargs)Shows the plot.
reset
()Resets the plot to its default state.
-
property
selection_mode
¶ The current selection mode of the plot.
This property controls how the current view is updated in response to updates from
InteractivePlot
instances that are linked to labels or frames.When
link_type
is"frames"
, the supported values are:"select"
: show video samples with labels only for the selected frames"match"
: show unfiltered video samples containing at least one selected frame"frames"
: show only the selected frames in a frames view
When
link_type
is"labels"
, the supported values are:"select"
: show only the selected labels"match"
: show unfiltered samples containing at least one selected label"patches"
: show the selected labels in a patches view
Note
In order to use
"patches"
selection mode, you must have provided aninit_fcn
when constructing this plot that defines how to create the base patches view. This usually involvesto_patches()
orto_evaluation_patches()
Note
In order to use
"frames"
selection mode, you must have provided aninit_fcn
when constructing this plot that defines how to create the base frames view. This usually involvesto_frames()
-
property
init_view
¶ A
fiftyone.core.collections.SampleCollection
defining the initial view from which to derive selection views when points are selected in the plot.This view will also be shown when the plot is in its default state (no selection).
-
property
selected_ids
¶ A list of IDs of the currently selected points.
An empty list means all points are deselected, and None means default state (nothing selected or unselected).
If the plot is not connected, returns None.
-
static
recommend_link_type
(label_field=None, samples=None)¶ Recommends a link type for the given info.
- Parameters
label_field (None) – the label field, if any
samples (None) – the
fiftyone.core.collections.SampleCollection
, if known
- Returns
a
(link_type, label_fields, selection_mode, init_fcn)
tuple
-
register_selection_callback
(callback)¶ Registers a selection callback for this plot.
Selection callbacks are functions that take a single argument containing the list of currently selected IDs.
If a selection callback is registered, this plot should invoke it each time their selection is updated.
- Parameters
callback – a selection callback
-
register_sync_callback
(callback)¶ Registers a callback that can sync this plot with a
SessionPlot
connected to it.The typical use case for this function is to serve as the callback for a
sync
button on the plot.- Parameters
callback – a function with no arguments
-
register_disconnect_callback
(callback)¶ Registers a callback that can disconnect this plot from a
SessionPlot
connected to it.The typical use case for this function is to serve as the callback for a
disconnect
button on the plot.- Parameters
callback – a function with no arguments
-
select_ids
(ids, view=None)¶ Selects the points with the given IDs in this plot.
- Parameters
ids – a list of IDs, or None to reset the plot to its default state
view (None) – the
fiftyone.core.view.DatasetView
corresponding to the given IDs, if available
-
connect
()¶ Connects this plot, if necessary.
-
disconnect
()¶ Disconnects the plot, if necessary.
-
freeze
()¶ Freezes the plot, replacing it with a static image.
The plot will also be disconnected.
Only applicable in notebook contexts.
-
property
is_connected
¶ Whether this plot is currently connected.
-
property
is_disconnected
¶ Whether this plot is currently disconnected.
-
property
is_frozen
¶ Whether this plot is currently frozen.
-
property
link_type
¶ The link type between this plot and a connected session.
-
save
(path, **kwargs)¶ Saves the plot.
- Parameters
path – the path to write the plot
**kwargs – subclass-specific keyword arguments
-
show
(**kwargs)¶ Shows the plot.
The plot will be connected if necessary.
- Parameters
**kwargs – subclass-specific keyword arguments
-
property
supports_session_updates
¶ Whether this plot supports automatic updates in response to session changes.
-
reset
()¶ Resets the plot to its default state.
-
class
fiftyone.core.plots.
ViewPlot
(init_view=None)¶ Bases:
fiftyone.core.plots.base.ResponsivePlot
Base class for plots that can be automatically populated given a
fiftyone.core.collections.SampleCollection
instance.The state of
ViewPlot
instances can also be updated by external parties by calling itsupdate_view()
method.- Parameters
init_view (None) – an initial
fiftyone.core.collections.SampleCollection
to load
Attributes:
Whether this plot supports automatic updates in response to session changes.
Whether this plot is currently connected.
Whether this plot is currently disconnected.
Whether this plot is currently frozen.
The link type between this plot and a connected session.
Methods:
update_view
(view[, agg_results])Updates the plot based on the provided view.
reset
()Resets the plot to its default state.
connect
()Connects this plot, if necessary.
Disconnects the plot, if necessary.
freeze
()Freezes the plot, replacing it with a static image.
save
(path, **kwargs)Saves the plot.
show
(**kwargs)Shows the plot.
-
property
supports_session_updates
¶ Whether this plot supports automatic updates in response to session changes.
-
update_view
(view, agg_results=None)¶ Updates the plot based on the provided view.
- Parameters
view – a
fiftyone.core.collections.SampleCollection
agg_results (None) – a list of pre-computed aggregation results
-
reset
()¶ Resets the plot to its default state.
-
connect
()¶ Connects this plot, if necessary.
-
disconnect
()¶ Disconnects the plot, if necessary.
-
freeze
()¶ Freezes the plot, replacing it with a static image.
The plot will also be disconnected.
Only applicable in notebook contexts.
-
property
is_connected
¶ Whether this plot is currently connected.
-
property
is_disconnected
¶ Whether this plot is currently disconnected.
-
property
is_frozen
¶ Whether this plot is currently frozen.
-
property
link_type
¶ The link type between this plot and a connected session.
-
save
(path, **kwargs)¶ Saves the plot.
- Parameters
path – the path to write the plot
**kwargs – subclass-specific keyword arguments
-
show
(**kwargs)¶ Shows the plot.
The plot will be connected if necessary.
- Parameters
**kwargs – subclass-specific keyword arguments
-
class
fiftyone.core.plots.
PlotManager
(session)¶ Bases:
object
Class that manages communication between a
fiftyone.core.session.Session
and one or morefiftyone.core.plots.base.ResponsivePlot
instances.Each plot can be linked to either the view, samples, frames, or labels of a session:
View links: When a plot has
link_type == "view"
, then, when the session’s view changes, the plot is updated based on the content of the viewSample links: When points are selected in a plot with
link_type == "samples"
, a view containing the corresponding samples is loaded in the App. Conversely, when the session’s view changes, the corresponding points are selected in the plotFrame links: When points are selected in a plot with
link_type == "frames"
, a view containing the corresponding frames is loaded in the App. Conversely, when the session’s view changes, the corresponding points are selected in the plotLabel links: When points are selected in a plot with
link_type == "labels"
, a view containing the corresponding labels is loaded in the App. Conversely, when the session’s view changes, the points in the plot corresponding to all labels in the view are selected in the plot
- Parameters
session – a
fiftyone.core.session.Session
Methods:
summary
()Returns a string summary of this manager.
keys
()Returns an iterator over the names of plots in this manager.
items
()Returns an iterator over the
(name, plot)
pairs in this manager.values
()Returns an iterator over the plots in this manager.
attach
(plot[, name, connect, overwrite])Attaches a plot to this manager.
remove
(name)Removes the plot from this manager.
clear
()Removes all plots from this manager.
pop
(name)Removes the plot from this manager and returns it.
connect
()Connects this manager to its session and all plots.
Disconnects this manager from its session and all plots.
sync
()Syncs all connected plots with the session’s current view.
freeze
()Freezes all connected plots, replacing them with static images.
Attributes:
Whether this manager is currently connected to its plots.
Whether this manager is currently disconnected from its plots.
Whether this manager has plots linked to views.
Whether this manager has plots linked to samples.
Whether this manager has plots linked to frames.
Whether this manager has plots linked to labels.
-
summary
()¶ Returns a string summary of this manager.
- Returns
a string summary
-
keys
()¶ Returns an iterator over the names of plots in this manager.
- Returns
an iterator over plot names
-
items
()¶ Returns an iterator over the
(name, plot)
pairs in this manager.- Returns
an iterator that emits
(name, ResponsivePlot)
tuples
-
values
()¶ Returns an iterator over the plots in this manager.
- Returns
an iterator that emits
fiftyone.core.plots.base.ResponsivePlot
instances
-
property
is_connected
¶ Whether this manager is currently connected to its plots.
-
property
is_disconnected
¶ Whether this manager is currently disconnected from its plots.
-
property
has_view_links
¶ Whether this manager has plots linked to views.
-
property
has_sample_links
¶ Whether this manager has plots linked to samples.
-
property
has_frame_links
¶ Whether this manager has plots linked to frames.
-
property
has_label_links
¶ Whether this manager has plots linked to labels.
-
attach
(plot, name=None, connect=True, overwrite=True)¶ Attaches a plot to this manager.
- Parameters
plot – a
fiftyone.core.plots.base.ResponsivePlot
name (None) – an optional name for the plot
connect (True) – whether to immediately connect the plot
overwrite (True) – whether to overwrite an existing plot of the same name
-
remove
(name)¶ Removes the plot from this manager.
- Parameters
name – the name of a plot
-
clear
()¶ Removes all plots from this manager.
-
pop
(name)¶ Removes the plot from this manager and returns it.
- Parameters
name – the name of a plot
- Returns
-
connect
()¶ Connects this manager to its session and all plots.
-
disconnect
()¶ Disconnects this manager from its session and all plots.
-
sync
()¶ Syncs all connected plots with the session’s current view.
-
freeze
()¶ Freezes all connected plots, replacing them with static images.
Only applicable in notebook contexts.
-
class
fiftyone.core.plots.
ViewGrid
(plots, shape=None, hgap=None, vgap=None, init_view=None, **kwargs)¶ Bases:
fiftyone.core.plots.views.PlotlyViewPlot
A grid of
PlotlyViewPlot
instances.- Parameters
plots – a
PlotlyViewPlot
or iterable ofPlotlyViewPlot
instancesshape (None) – the
(rows, cols)
shape to use for the gridhgap (None) – a horizontal spacing between the subplots, in
[0, 1]
vgap (None) – a vertical spacing between the subplots, in
[0, 1]
init_view (None) – an optional initial
fiftyone.core.collections.SampleCollection
to load**kwargs – optional parameters for
plotly.graph_objects.Figure.update_layout()
Methods:
connect
()Connects this plot, if necessary.
Disconnects the plot, if necessary.
freeze
()Freezes the plot, replacing it with a static image.
reset
()Resets the plot to its default state.
save
(path[, width, height, scale])Saves the plot as an image or HTML.
show
(**kwargs)Shows this plot.
update_view
(view[, agg_results])Updates the plot based on the provided view.
Attributes:
Whether this plot is currently connected.
Whether this plot is currently disconnected.
Whether this plot is currently frozen.
The link type between this plot and a connected session.
Whether this plot supports automatic updates in response to session changes.
-
connect
()¶ Connects this plot, if necessary.
-
disconnect
()¶ Disconnects the plot, if necessary.
-
freeze
()¶ Freezes the plot, replacing it with a static image.
The plot will also be disconnected.
Only applicable in notebook contexts.
-
property
is_connected
¶ Whether this plot is currently connected.
-
property
is_disconnected
¶ Whether this plot is currently disconnected.
-
property
is_frozen
¶ Whether this plot is currently frozen.
-
property
link_type
¶ The link type between this plot and a connected session.
-
reset
()¶ Resets the plot to its default state.
-
save
(path, width=None, height=None, scale=None, **kwargs)¶ Saves the plot as an image or HTML.
- Parameters
path – the path to write the image or HTML
width (None) – a desired width in pixels when saving as an image. By default, the layout width is used
height (None) – a desired height in pixels when saving as an image. By default, the layout height is used
scale (None) – a scale factor to apply to the layout dimensions. By default, this is 1.0
**kwargs – keyword arguments for
plotly.graph_objects.Figure.to_image
orplotly.graph_objects.Figure.write_html
-
show
(**kwargs)¶ Shows this plot.
- Parameters
**kwargs – optional parameters for
plotly.graph_objects.Figure.update_layout()
-
property
supports_session_updates
¶ Whether this plot supports automatic updates in response to session changes.
-
update_view
(view, agg_results=None)¶ Updates the plot based on the provided view.
- Parameters
view – a
fiftyone.core.collections.SampleCollection
agg_results (None) – a list of pre-computed aggregation results
-
class
fiftyone.core.plots.
CategoricalHistogram
(field_or_expr, expr=None, order='alphabetical', xlabel=None, log=None, bargap=None, color=None, opacity=None, init_view=None, **kwargs)¶ Bases:
fiftyone.core.plots.views.PlotlyViewPlot
A histogram of a categorial field.
- Parameters
field_or_expr – a field name,
embedded.field.name
,fiftyone.core.expressions.ViewExpression
, or MongoDB expression defining the field or expression to plotexpr (None) –
an optional
fiftyone.core.expressions.ViewExpression
or MongoDB expression to apply tofield_or_expr
(which must be a field) before plottingorder ("alphabetical") – the x-axis ordering strategy to use. Can be “alphabetical” to sort by field value, or “frequency” to sort in descending order of frequency, or a function suitable for
sorted(items, key=order)
, whereitems
is a list of(value, count)
tuplesxlabel (None) – an optional x-label for the plot
log (False) – whether to use a log scale y-axis
bargap (None) – relative spacing between bars in
[0, 1]
color (None) – a color for the bars. Can be any color supported by
plotly.graph_objects.bar.Marker.color
opacity (None) – an optional opacity for the bars in
[0, 1]
init_view (None) – an optional initial
fiftyone.core.collections.SampleCollection
to load**kwargs – optional parameters for
plotly.graph_objects.Figure.update_layout()
Methods:
connect
()Connects this plot, if necessary.
Disconnects the plot, if necessary.
freeze
()Freezes the plot, replacing it with a static image.
reset
()Resets the plot to its default state.
save
(path[, width, height, scale])Saves the plot as an image or HTML.
show
(**kwargs)Shows this plot.
update_view
(view[, agg_results])Updates the plot based on the provided view.
Attributes:
Whether this plot is currently connected.
Whether this plot is currently disconnected.
Whether this plot is currently frozen.
The link type between this plot and a connected session.
Whether this plot supports automatic updates in response to session changes.
-
connect
()¶ Connects this plot, if necessary.
-
disconnect
()¶ Disconnects the plot, if necessary.
-
freeze
()¶ Freezes the plot, replacing it with a static image.
The plot will also be disconnected.
Only applicable in notebook contexts.
-
property
is_connected
¶ Whether this plot is currently connected.
-
property
is_disconnected
¶ Whether this plot is currently disconnected.
-
property
is_frozen
¶ Whether this plot is currently frozen.
-
property
link_type
¶ The link type between this plot and a connected session.
-
reset
()¶ Resets the plot to its default state.
-
save
(path, width=None, height=None, scale=None, **kwargs)¶ Saves the plot as an image or HTML.
- Parameters
path – the path to write the image or HTML
width (None) – a desired width in pixels when saving as an image. By default, the layout width is used
height (None) – a desired height in pixels when saving as an image. By default, the layout height is used
scale (None) – a scale factor to apply to the layout dimensions. By default, this is 1.0
**kwargs – keyword arguments for
plotly.graph_objects.Figure.to_image
orplotly.graph_objects.Figure.write_html
-
show
(**kwargs)¶ Shows this plot.
- Parameters
**kwargs – optional parameters for
plotly.graph_objects.Figure.update_layout()
-
property
supports_session_updates
¶ Whether this plot supports automatic updates in response to session changes.
-
update_view
(view, agg_results=None)¶ Updates the plot based on the provided view.
- Parameters
view – a
fiftyone.core.collections.SampleCollection
agg_results (None) – a list of pre-computed aggregation results
-
class
fiftyone.core.plots.
NumericalHistogram
(field_or_expr, expr=None, bins=None, range=None, xlabel=None, log=None, color=None, opacity=None, init_view=None, **kwargs)¶ Bases:
fiftyone.core.plots.views.PlotlyViewPlot
A histogram of a numerical field.
- Parameters
field_or_expr –
a field name,
embedded.field.name
,fiftyone.core.expressions.ViewExpression
, or MongoDB expression defining the field or expression to plotexpr (None) –
an optional
fiftyone.core.expressions.ViewExpression
or MongoDB expression to apply tofield_or_expr
(which must be a field) before plottingbins (None) – can be either an integer number of bins to generate or a monotonically increasing sequence specifying the bin edges to use. By default, 10 bins are created. If
bins
is an integer and norange
is specified, bin edges are automatically computed from the bounds of the fieldrange (None) – a
(lower, upper)
tuple specifying a range in which to generate equal-width bins. Only applicable whenbins
is an integer orNone
xlabel (None) – an optional x-label for the plot
log (False) – whether to use a log scale y-axis
color (None) – a color for the bars. Can be any color supported by
plotly.graph_objects.bar.Marker.color
opacity (None) – an optional opacity for the bars in
[0, 1]
init_view (None) – an optional initial
fiftyone.core.collections.SampleCollection
to load**kwargs – optional parameters for
plotly.graph_objects.Figure.update_layout()
Methods:
connect
()Connects this plot, if necessary.
Disconnects the plot, if necessary.
freeze
()Freezes the plot, replacing it with a static image.
reset
()Resets the plot to its default state.
save
(path[, width, height, scale])Saves the plot as an image or HTML.
show
(**kwargs)Shows this plot.
update_view
(view[, agg_results])Updates the plot based on the provided view.
Attributes:
Whether this plot is currently connected.
Whether this plot is currently disconnected.
Whether this plot is currently frozen.
The link type between this plot and a connected session.
Whether this plot supports automatic updates in response to session changes.
-
connect
()¶ Connects this plot, if necessary.
-
disconnect
()¶ Disconnects the plot, if necessary.
-
freeze
()¶ Freezes the plot, replacing it with a static image.
The plot will also be disconnected.
Only applicable in notebook contexts.
-
property
is_connected
¶ Whether this plot is currently connected.
-
property
is_disconnected
¶ Whether this plot is currently disconnected.
-
property
is_frozen
¶ Whether this plot is currently frozen.
-
property
link_type
¶ The link type between this plot and a connected session.
-
reset
()¶ Resets the plot to its default state.
-
save
(path, width=None, height=None, scale=None, **kwargs)¶ Saves the plot as an image or HTML.
- Parameters
path – the path to write the image or HTML
width (None) – a desired width in pixels when saving as an image. By default, the layout width is used
height (None) – a desired height in pixels when saving as an image. By default, the layout height is used
scale (None) – a scale factor to apply to the layout dimensions. By default, this is 1.0
**kwargs – keyword arguments for
plotly.graph_objects.Figure.to_image
orplotly.graph_objects.Figure.write_html
-
show
(**kwargs)¶ Shows this plot.
- Parameters
**kwargs – optional parameters for
plotly.graph_objects.Figure.update_layout()
-
property
supports_session_updates
¶ Whether this plot supports automatic updates in response to session changes.
-
update_view
(view, agg_results=None)¶ Updates the plot based on the provided view.
- Parameters
view – a
fiftyone.core.collections.SampleCollection
agg_results (None) – a list of pre-computed aggregation results