Given a data frame with the results of (multiple) runs of (multiple)
different multi-objective optimization algorithms on (multiple) problem instances,
the function generates ggplot
scatter-plots of the obtained
Pareto-front approximations.
plot_scatter2d(
df,
obj.cols = c("y1", "y2"),
shape = "algorithm",
colour = NULL,
size = NULL,
bubble = FALSE,
highlight.algos = NULL,
offset.highlighted = 0,
title = NULL,
subtitle = NULL,
facet.type = "wrap",
facet.args = list()
)
Arguments
df |
[data.frame ]
Data frame with columns at least those given via parameter obj.cols ,
“problem” and “algorithm”. |
obj.cols |
[character(>= 2) ]
Column names of the objective function values.
Default is c("y1", "y2") . |
shape |
[character(1) ]
Name of column that shall be used to define the point's shape.
Default is “algorithm”. |
colour |
[character(1) ]
Name of column that shall be used to define the point's colour
Default is NULL , i.e., coloring is deactivated. |
size |
[character(1) ]
Name of column that shall be used to define the point's size.
Default is NULL , i.e., sizing is deactivated.
Useful to visualize a third objective (bubble-chart; see argument bubble ). |
bubble |
[logical(1) ]
Plot bubble-chart? I.e., is colour used to highlight another
objective?
Default is FALSE . |
highlight.algos |
[character(1) ]
Name of algorithm to highlight exclusively. Useful to highlight, e.g., the
true Pareto-optimal front (if known) or some reference set.
Default is NULL , i.e., unknown. |
offset.highlighted |
[numeric(1) ]
Numeric offset used to shift set (see highlight.algos )
which should be highlighted.
Even though this produces objective vectors, it
may be used to make visible reference sets which otherwise would
be hidden by overlap of multiple other approximation sets. |
title |
[character(1) ]
Plot title. |
subtitle |
[character(1) ]
Plot subtitle. |
facet.type |
[character(1) ]
Which faceting method to use? Pass “wrap” for facet_wrap
or “grid” for facet_grid .
Default is “wrap”. |
facet.args |
[list ]
Named list of arguments passed down to facet_wrap or
facet_grid respectively (depends on facet.type ).
E.g., nrow to change layout.
Default is the empty list. In this case, data is grouped by problem. |
Value
A ggplot
object.
References
[1] T. Tušar and B. Filipič, "Visualization of Pareto Front Approximations in
Evolutionary Multiobjective Optimization: A Critical Review and the Prosection
Method," in IEEE Transactions on Evolutionary Computation, vol. 19, no. 2,
pp. 225-245, April 2015, doi: 10.1109/TEVC.2014.2313407.
See also