loss
and loss_aggregator
.
There is a new vignette that showcases this new feature.adjust_labels
in plot.euler()
has been
deprecated and removed to fix sanitizer warnings.inst/CITATION
PI
to M_PI
to support STRICT_R_HEADERS
in C++ code
(#82, thanks @eddelbuettel)euler()
with adjust_labels = TRUE
)
no longer repels text labels away from the edges of the shapes in
the diagram.stringsAsFactors = TRUE
inside all relevant functions in euler()
to avoid errors in upcoming R version.venn()
exceeds 5 (##65)euler()
and
venn()
(##64, @privefl)data.frame
inputs to euler()
when categorical
variables are character vectors and not factors.plot.euler()
, percentages can be added to the plot in addition to or
instead of counts by providing a list
to the quantities
argument
with an item type
that can take any combination of counts
and percent
.
This change also comes with a redesign of the grid graphics
implementation for labels.eulerr_options()
gains a new argument
padding
which controls the amount of padding between labels and quantities.
(##48)plot.euler()
now uses code from the ggrepel package to prevent
labels from overlapping or escaping the plot area if adjust_labels
is
set to TRUE
.cex
for quantity labels has changed from 1.0 to 0.9.data
slot in the object created
by calling to plot.euler()
(##57)venn()
is a new function that produces Venn diagrams for up to
5 sets. The interface
is almost identical to euler()
except that a single integer
can also be provided. A new vignette, Venn diagrams with eulerr,
exemplifies its use.plot.euler()
when a list of
Euler diagrams is given has been improved. Setting fontsize
or
cex
now results in appropriately sized strips as one would expect.eulergram()
objects from plot.euler()
now have a proper grob name
for the canvas grob, so that extracting information from them is easier.euler()
now correctly says "ellipses"
and not "coefficients".data.frame
or matrix
inputs now work properly
when values are numerical. (##42)error_plot()
is a new function that offers diagnostic plots of
fits from euler()
, letting the user visualize the error in the
resulting Euler diagram.euler()
once again uses the residual sums of squares, rather than the
stress metric, as optimization objective, which means that
output is always scaled appropriately to input (##28).plot.euler()
now uses the
polylabelr package to
position labels for the overlaps of the ellipses, which has improved
performance in plotting complicated diagrams considerably and reduced the
amount of code in this package greatly.euler.data.frame()
method (and by proxy the euler.matrix()
method)
can now take matrices with factors in addition to the previously supported
logical and integer (binary) input. The function will dummy code the variables
for the user.plot.euler()
have been made defunct.plants
, to exemplify the list method for euler()
.fruits
, to exemplify the data.frame method for euler()
.euler.data.frame()
gains an argument sep
, which is a character vector
used to separate dummy-coded factors if there are factors or characters in the
input.organisms
, to exemplify the matrix method for euler()
.pain
, to exemplify the table method for euler()
.euler.table()
gains an argument, factor_names
, for specifying
whether the factor names should be included when generating dummy-coded
variables in case the input is a data.frame with character or factor vectors
or if the input is a table with more than two columns or rows.euler.list()
now passes its ellipsis argument along properly. (##33,
thanks, @banfai)plot.euler()
now returns a gTree
object. All of the plotting mechanisms
are now also found in this function and plot.eulergram()
and
print.eulergram()
basically just call grid::grid.draw()
on the result
of plot.euler()
. This change means that functions such as
gridExtra::grid.arrange()
now work as one would intuit on the objects
produced by plot.euler()
.NA
in the resulting
data.frame
of ellipses.GenSA::GenSA()
from
RcppDE::DEoptim()
.plot.euler()
.euler.data.frame()
now works as expected for tibbles (from the tibble
package) when argument by
is used.plot.euler()
has been rewritten completely from scratch, now using
a custom grid-based implementation rather than lattice. As a result,
all panel.*()
functions and label()
have been deprecated as well
as arguments fill_alpha
, auto.key
, fontface
, par.settings
,
default.prepanel
, default.scales
, and panel
. The
method for plotting diagrams has also changed---rather than overlaying
shapes on top of each other, the diagram is now split into separate polygons
using the polyclip package. Instead of relying on semi-transparent fills,
the colors of the fills are now blended in the CIELab color space (##16).eulerr_options()
have been provided in order to set
default graphical parameters for the diagrams.counts
and outer_strips
to plot.euler()
are now defunct.euler()
now always returns ellipse-based parameters
with columns h
, k
, a
, b
, and phi
, regardless of which shape is used.
This item was previously named "coefficients", but it now called
"ellipses" instead and a custom coef.euler()
method has been added to
make cure that coef()
still works.quantities
and labels
arguments of
plot.euler()
now works correctly (##20).GenSA::GenSA()
to
RcppDE::DEoptim()
.stats::nlm()
again.label
is now a proper generic with an appropriate method (label.euler()
).counts
argument in one
of the vignettes.auto.key = TRUE
and labels were
not in alphabetic order. (##15)shape = "ellipse"
in euler()
. This functionality accompanies an overhaul of the
innards of the function.stats::optim(..., method = "L-BFGS-B")
to stats::nlminb()
.GenSA::GenSA()
when the fit from
nlminb()
isn't good enough, by default for 3 sets and ellipses, but
this behavior can be controlled via a new argument control
.diagError
and regionError
metrics have been changed from
diag_error
and region_error
to reflect the original names.label()
function has been added to extract locations for the overlaps
for third party plotting (##10).counts
argument to plot.euler()
and panel.euler.labels()
have
been deprecated in favor of the more appropriate quantities
.fill_opacity
in plot.euler()
that was deprecated in
v2.0.0 has been made
defunct.eulerr()
has been replaced with euler()
(see update 1.1.0) and made
defunct.euler
:euler.list()
produces diagrams from a list of sample spaces.euler.table()
produces diagrams from a table
object, as long as there
are no dimensions with values greater than 2.plot.euler()
has been rewritten (again) from the ground up to better match
other high-level functions from lattice. This change is intended to be
as smooth as possible and should not make much of a difference to most users.polygon_args
, mar
, and text_args
to plot.euler()
have been
made defunct.plot.euler()
handles conflicting arguments better.eulerr
now use registration.euler()
now allows single sets (##9).plot.euler()
now use a bold font face by default in order to
distinguish them from the typeface used for counts.key
in plot.euler()
has been deprecated and replaced with
auto.key
. Notice that using key
does not throw a warning since the
argument is used in lattice::xyplot()
(which plot.euler()
relies on).fill_opacity
is softly deprecated and has been replaced with
fill_alpha
for consistency with other lattice functions.border
argument in plot.euler()
works again (##7).eulerr()
and its related methods been deprecated and are being replaced by
euler()
, which takes slightly different input. Notably, the default is
now to provide input in the form of disjoint class combinations, rather
than unions. This is partly to make the function a drop-in replacement for
venneuler::venneuler
.plot.euler()
has been completely revamped, now interfacing xyplot()
from
lattice. As a result, arguments polygon_args
, mar
, and text_args
have been
deprecated.counts
argument to plot.eulerr
, which intersections and
complements with counts from the original set specification (##6).key
argument to plot.eulerr
that prints a legend next to the
diagram.atan2()
from RcppArmadillo.cost
and now forces the function to
use sums of squares, which is more or less equivalent to the cost function
from venneuler
.plot.euler()
now chooses colors adapted to color vision
deficiency (deuteranopia). With increasingly large numbers of sets, this
adaptation is relaxed to make sure that colors are kept visually distinct.euler()
now uses nlm()
instead of optim(method = "Nelder-Mead")
for
its final optimization.print.eulerr
.cost
argument
(currently eulerAPE
or venneuler
).by
argument to
eulerr
. The result is a list of Euler diagrams that can be plotted
in a grid arrangement via a new plot method.mar
argument to plot.eulerr
with a default that produces
symmetric margins.stress
statistic from venneuler.print.eulerr
method.Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.