
Changelog
biplotEZ 3.0
(September 2026)
New features
-
ggplot2is now the default plotting engine.plot()gains anengineargument, which takes"ggplot2"or"base". - New
gg_biplot()builds a biplot as aggplotobject. - New
autoplot()method forbiplotobjects, plusprint(),plot()and+methods for the resultinggg_biplotobjects. The+method lets you add your ownggplot2layers. - New
MCA()function for multiple correspondence analysis biplots. The indicator matrix variant is available in this release. -
fit.measures()now reports overall quality for MCA biplots. - New
CatPCA()function for categorical PCA biplots, withnom.axes()andord.axes()to format nominal and ordinal axes. -
plot()gains anaddargument, so a biplot can be drawn on top of an existing plot. -
axes(),newaxes(),nom.axes()andord.axes()gainlabel.dir = "Along", which places each axis title alongside its axis line, rotated to the slope of the axis. The defaultlabel.diris nowNULL, meaning"Along"with theggplot2engine and"Orthog"with base graphics. - The
biplotobject now storesp2, the number of categorical variables. - New vignette section on MCA. The CA vignette is now called “CA and MCA in biplotEZ”.
- More examples added to the
PCA()andCA()documentation.
Breaking changes
-
CATPCA()has been renamed toCatPCA(). -
axes_coordinates()is no longer exported. -
biplot()now stops with an error if a numeric variable has zero standard deviation. - The default plotting engine changed from base graphics to
ggplot2. Some features are not supported by theggplot2engine yet and fall back to base graphics with a warning. These are zooming, 1D and 3D biplots,CatPCA()nominal and ordinal axes, and spline axes. - MCA biplots are only drawn with the
ggplot2engine. -
legend.type(new = TRUE)is a base graphics feature only. Theggplot2engine always places the legend next to the biplot.
Bug fixes
- Fixed correlation PCA.
- Fixed correlation PCA for the case where p > n.
- Fixed
newsamples()for CA biplots in base graphics. - Fixed
legend.type()for theggplot2engine. - Fixed label aesthetics and label placement.
-
ggrepelis no longer used in base graphics plotting. - Fixed a typo in the CVA vignette.
Internal changes
- The spline axis code was translated from Fortran to C++ using
Rcpp. The call tooptim()was replaced by a Nelder-Mead routine written in C++. - Unused Fortran helper functions were removed.
- Compiled build artefacts are no longer tracked in the repository.
-
Depends: R (>= 3.6.0)added. -
Rcppadded toImportsandLinkingTo. -
RColorBreweradded toSuggests.grid,R.devicesandtestthatremoved.