Releases: jolars/eulerr
Releases · jolars/eulerr
eulerr 7.0.2
Bug Fixes
- Fix order and layout of strips when grouping (#108, by @altairwei)
eulerr 7.0.1
Minor Changes
- Fixed some incorrect documentation of internal functions.
- Corrected an url for eulerAPE.
Full Changelog: v7.0.0...v7.0.1
eulerr 7.0.0
New Features
- It is now possible to set the loss function to be used when trying to
optimize the Euler diagram layout vialoss
andloss_aggregator
.
There is a new vignette that showcases this new feature.
Minor Changes
- C++14 is now required for the package.
Bug Fixes
- Label repelling via
adjust_labels
inplot.euler()
has been
deprecated and removed to fix sanitizer warnings.
Full Changelog: v6.1.1...v7.0.0
eulerr 6.1.1
Minor changes
- citation to conference paper added to
inst/CITATION
- error messages for erroneous input have been improved in several places
- switched
PI
toM_PI
to supportSTRICT_R_HEADERS
in C++ code
(#82, thanks @eddelbuettel)
Bug fixes
eulerr 6.1.0
Minor changes
- Label repelling (activated by calling
euler()
withadjust_labels = TRUE
)
no longer repels text labels away from the edges of the shapes in
the diagram.
Bug fixes
- Rectify sanitizer error from clang-ASAN test environment.
eulerr 6.0.2
Bug fixes
- Set
stringsAsFactors = TRUE
inside all relevant functions ineuler()
to avoid errors in upcoming R version. - Fix broken link in euler under the hood vignette.
eulerr 6.0.0
New features
- In
plot.euler()
, percentages can be added to the plot in addition to or
instead of counts by providing alist
to thequantities
argument
with an itemtype
that can take any combination ofcounts
andpercent
.
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 ifadjust_labels
is
set toTRUE
.- A new vignette featuring a gallery of plots from the package has been
added.
Minor changes
- The default
cex
for quantity labels has changed from 1.0 to 0.9. - Labels for sets that overlap are now merged (partly fixes #45)
- The fill colors for sets which are completely contained within another set
are now once again composed of a mix of the color of the subset and
the superset. - Plotting data has been exposed in a
data
slot in the object created
by calling toplot.euler()
(#57)
Bug fixes
- An error in layout normalization that occurred sometimes
with ellipses has been fixed.
eulerr 5.1.0
eulerr 5.1.0
New features
venn()
is a new function that produces Venn diagrams for up to
5 sets. The interface
is almost identical toeuler()
except that a single integer
can also be provided. A new vignette, Venn diagrams with eulerr,
examplifies its use.
Minor changes
- Calculations for the strips in
plot.euler()
when a list of
Euler diagrams is given has been improved. Settingfontsize
or
cex
now results in appropriately sized strips as one would expect. - Tiny overlaps (where the fraction of the area is less than one
thousandth of the largest overlap) in the final diagram are no longer
plotted. eulergram()
objects fromplot.euler()
now have a proper grob name
for the canvas grob, so that extracting information from them is easier.
Bug fixes
- Return value documentation for
euler()
now correctly says "ellipses"
and not "coefficients". data.frame
ormatrix
inputs now work properly
when values are given as numerics. (#42)- Fixed some spelling errors in news and vignettes.
eulerr 5.0.0
New features
error_plot()
is a new function that offers diagnostic plots of
fits fromeuler()
, letting the user visualize the error in the
resulting Euler diagram.
Major changes
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.- The c++ internals have been rewritten using more memory-efficient, performant
and expressive code.
Minor changes
- The
euler.data.frame()
method (and by proxy theeuler.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. - A few performance fixes.
- Additional unit tests.
- Previously deprecated arguments to
plot.euler()
have been made defunct. - Added a data set,
plants
, to exemplify the list method foreuler()
. - Added a data set,
fruits
, to exemplify the data.frame method foreuler()
. euler.data.frame()
gains an argumentsep
, which is a character vector
used to separate dummy-coded factors if there are factors or characters in the
input.- Added a data set,
organisms
, to exemplify the matrix method foreuler()
. - Added a data set,
pain
, to exemplify the table method foreuler()
. 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.- Parts of the eulerr under the hood vignette has been branched off into
a new vignette regarding visualization.
Bug fixes
eulerr 4.1.0
Minor changes
plot.euler()
now returns agTree
object. All of the plotting mechanisms
are now also found in this function andplot.eulergram()
and
print.eulergram()
basically just callgrid::grid.draw()
on the result
ofplot.euler()
. This change means that functions such as
gridExtra::grid.arrange()
now work as one would intuit on the objects
produced byplot.euler()
.- Fitting and plotting euler diagrams with empty sets is now allowed (#23).
Empty sets in the input will be returned asNA
in the resulting
data.frame
of ellipses. - The last-ditch optimizer has been switched back to
GenSA::GenSA()
from
RcppDE::DEoptim()
.
Bug fixes
- The grid parameters available for edges are now correctly specified in
the manual forplot.euler()
. euler.data.frame()
now works as expected for tibbles (from the tibble
package) when argumentby
is used.