Releases: morganjwilliams/pyrolite
Releases · morganjwilliams/pyrolite
0.3.6
0.3.6 Changelog
- PR Merged: Sarah Shi contributed a PR to better handle values below zero during compositional renormalisation (to 1 or 100%; #104). The functions
pyrolite.comp.codata.close
andpyrolite.comp.codata.renormalise
will now warn where values below zero exist, and replace these withnumpy.nan
. - Added a
CITATION.cff
file to the repository. - Various administrative changes (formatting, linting, meta-file management), minor bugfixes and addressing various deprecation/other warnings.
0.3.5.post0
0.3.5 Changelog
- New Contributor: Malte Mues
- New Contributor: Bob Myhill
- Bugfix: Fixed a bug with the index structure for the documentation example galleries.
- Expanded test suite for a text coverage bump.
- Started testing against and supporting Python 3.12.
pyrolite.geochem
- PR Merged: Malte Mues contributed a PR to allow series and dataframes with
Pm
data to be used with thepyrolite.pyrochem
REE accessors (i.e., the column will not be dropped if it exists; #100). This PR also included an update for thepyrolite.util.lambdas
functions to be more flexible in terms of access, including as individual series (allowing performant usage with pandarallel. - Updates to
pyrolite.pyrochem
accessors to be more flexible, generally allowing usage with both DataFrame and Series objects (e.g.df.pyrochem.REE
,ser.pyrochem.REE
).
pyrolite.plot
- PR Merged: Bob Myhill contributed a series of pull requests to fix formatting of TAS diagram labels (#91), update the TAS field names in the JSON template (#92), improve the formatting and scaling of TAS diagrams (#93), add an option to add field labels in the visual centre of polygons (rather than the 'centroid'; #94 ), update some usage of
matplotlib
(#96), and allow selective plotting of individual fields when adding a classification diagram to axes (#98).
pyrolite.mineral
- Suppressed
pandas
performance warnings related to sequential construction ofpandas.DataFrame
s inpyrolite.mineral.normative.CIPW_norm
.
0.3.4
0.3.4 Changelog
- Bugfix: Tom Buckle contributed a PR with some minor bugfixes for the CIPW Norm.
- Various maintenance updates, including migrating the package to use
pyproject.toml
, and cleaning up both the repository and the built package.
0.3.3
0.3.3 Changelog
Note
A post-release fix has been added to PyPI (0.3.3.post0
), which deals with an issue with the build binary wheel (.whl
, solely distributed via PyPI). Otherwisev0.3.3
andv0.3.3.post0
are exactly the same.
- New Contributor: Sarah Shi
- New Contributor: Ondrej Lexa
- Bugfix: Updated docs builds to be compatible with recent versions of
sphinx-gallery
. - Bugfix: Updated some
pandas
assignment, aggregation and similar operations to be compatible with more recent versions of Pandas. - Added explicit Python 3.10 and 3.11 support.
- Removed Python 3.7 support (now end of life).
pyrolite.mineral
- PR Merged: Added an option to get expanded outputs for the CIPW Norm, from Tom Buckle.
- Bugfix: Fixes and updated tests for CIPW Norm outputs.
pyrolite.plot
- PR Merged: Sarah Shi contributed a PR to add variations on the TAS diagram from Le Maitre. These can be accessed by providing a
which_model
keyword argument to thepyrolite.util.classification.TAS
constructor (or plot template). - PR Merged: Ondrej Lexa contributed a PR to add sandstone bulk geochemistry discrimination diagrams (
pyrolite.util.classification.Pettijohn
,pyrolite.util.classification.Herron
). - Bugfix: Fixed issue with handling
vmin
andvmax
for colormapping inpyrolite.plot.color
. - Suppressed warnings for 'division by zero'/'invalid value encountered in divide' in ternary diagram scatter plots.
- Added explicit support for colormapping categorical data in
pyrolite.plot.color
, such that ordering is preserved/consistent in e.g. legends.
pyrolite.util
- Feature: Added new version of ICS International Chronostratigraphic Chart (2022-10;
pyrolite.util.time.Timescale
). - Bugfix: Corrected TAS diagram references, and fixed an issue where only the ID names were able to we added to diagrams.
- Updated axes-sharing utility function
pyrolite.util.plot.axes.share_axes
to reflect more recent versions ofmatplotlib
. - Fixed issue in path interpolation for contours (
pyrolite.util.plot.interpolation.get_contour_paths
) for recentmatplotlib
versions. - Updated figure export utility function to use
pathlib
syntax for suffixes, which should avoid potential for double suffixes (e.g.figure_name.png.png
).
0.3.2
0.3.2 Changelog
- New Contributor: Angela Rodrigues
- Bugfix: Edited docstrings and added ignore-warning for
numpydoc
warnings. - Bugfix: Updated installation instructions and Binder configuration to use secure protocols when installing via
git
(i.e. https://) - Bugfix: Update CI builds so that tests can be run on MacOS.
pyrolite.mineral
- Feature: Added a TAS-based iron correction following Middlemost (1989).
- Bugfix: Fixed some errors in mineral formulae and handling leading to inaccurate outputs from CIPW Norm.
- Split out volcanic from intrusive samples in the CIPW Norm volcanic rock comparison.
- Added SINCLAS abbreviations to the mineral dictionary associated with the CIPW Norm, so alternate mineral naming systems can be compared.
pyrolite.util
- PR Merged: Louise Schoneveld submitted a pull request to add bivariate and ternary classifier models for spinel compositions (
pyrolite.util.classification.SpinelFeBivariate
,pyrolite.util.classification.SpinelTrivalentTernary
). - PR Merged: Angela Rodrigues submitted a pull request to add the Jensen ternary cation classifier model for subalkalic volcanic rocks (
pyrolite.util.classification.JensenPlot
). - Updated
pyrolite.util.skl.vis.plot_confusion_matrix
to be able to plot on existing axes, use an explicit class order and use rotation for e.g. long x-axis class label names. - Updated references to
scipy.stats.gaussian_kde
after namespace deprecation.
0.3.1
0.3.1 Changelog
- New Contributor: Martin Bentley
- New Contributor: Chetan Nathwani
- New Contributor: Tom Buckle
- New Contributor: Nicolas Piette-Lauziere
- Removed a redundant
pathlib
dependency (which is standard library as of Python 3.4). This will fix an issue blocking setting up a conda-forge recipe (#51). - Updated instances of redundant
numpy
types throughout to silence depreciation warnings (using base typesfloat
,int
except where specificnumpy
types are required). - Added a minimum
sympy
version requirement (v1.7) to avoid potential import errors. - Updated minimum versions for
matplotlib
andmpltern
to address potential version conflicts. - A user installation is now recommended by default. This solves some potential issues on *-nix and MacOS systems.
- Fixed broken links to documentation in the README (thanks to Alessandro Gentilini).
- Fixed a bad documentation link in the PyPI package information.
- Updated supported Python versions (Python 3.7-3.9).
- Bugfix: Updated use of
tinydb
databases to default to read-only access except where write access is explicitly needed. This should solve issues with permissions during installation and use ofpyrolite
on some systems (#61). Thanks to Antoine Ouellet for bringing this to attention, and both Sam Bradley and Alex Hunt for following up with the idea for the current solution.
pyrolite.geochem
- Feature: Nicolas Piette-Lauziere contributed two new functions for
pyrolite.geochem.alteration
: The chlorite-carbonate-pyrite index of Large et al. (2001;CCPI()
) and the Alteration index of Ishikawa (1976;IshikawaAltIndex()
). - Bugfix: Fixed a bug where incomplete results where being returned for calls to
lambda_lnREE()
using the O’Neill algorithm. In this instance only the rows with the least missing data (typically those with no missing data) would return lambda values, other rows would contain null values. Thanks to Mark Pearce for identifying this one! In the meantime, usingdf.pyrochem.lambda_lnREE(algorithm='opt')
will allow you to avoid the issue. - Bugfix: Modified a few of the
pyrolite.geochem.pyrochem
methods to a avoid a bug due to assignment of the dataframe (to_molecular()
,to_weight()
,recalculate_Fe()
). This bug seems to be contained to the dataframe accessor, the individual functions frompyrolite.geochem.transform
appear to work as expected outside of this context. Thanks to Chetan Nathwani for highlighting this one! - Renamed (private) package variables
__common_oxides__
and__common_elements__
to_common_oxides
and_common_elements
.
pyrolite.mineral
- Feature: CIPW function added to
pyrolite.mineral.normative
, largely from contributions by both Chetan Nathwani and Tom Buckle (#53). Note that the implementation still has a bug or two to be ironed out; it will currently raise a warning when used to make sure you’re aware of this. An example has been added demonstrating the intended functionality and demonstrating how coherent this is with existing implementations of CIPW (e.g. SINCLAS).
pyrolite.comp
- Updated
pyrolite.comp.codata.close()
to better deal with zeros (avoiding unnecessary warnings). - Added spherical coordinate transformation to
pyrolite.comp.pyrocomp
andpyrolite.comp.codata
(seepyrolite.comp.pyrocomp.sphere()
).
pyrolite.plot
- Feature: Added ternary classification plot templates
USDASoilTexture
,FeldsparTernary
andQAP
(#49; idea and implementation of the latter thanks to Martin Bentley!). The idea for implementing the ternary diagram came from a discussion with Jordan Lubbers and Penny Wieser (of the Thermobar team, who are working in similar spaces); they’ve now implemented a version usingpython-ternary
(rather thanmpltern
, which pyrolite is currently using). - Updated examples and documentation for density and contour plots.
- Added autoscaling for standard
spider()
and related plots to address #55. process_color()
has been updated to better deal with data explicitly declared to be of a 'category' data type (as a pandas.Series), and also to better handle variation in mapping notations. Ordering of categorical variables will now be preserved during color-mapping.- Added the option to have a ‘bad’ color to be used in categorical color-mapping where a category cannot be found.
- Inconsistent color specifications (e.g. a list or array of multiple types) will now result in an error when passed to
process_color()
. parallel()
has been updated to align with other plotting functions (taking an optional components keyword argument).
pyrolite.util
- Feature: Added ternary classification models for
USDASoilTexture
,FeldsparTernary
andQAP
( #49; idea and implementation of the latter thanks to Martin Bentley; see note on plot templates above). - Added some functionality to
pyrolite.util.classification
to allow classifier fields to be precisely specified by ratios (useful in ternary systems), for multiple 'modes' of diagrams to be contained a single configuration file, and fixed some issues with labelling (argumentsadd_labels
andwhich_labels
can now be used to selectively add either field IDs/abbreviations or field names to classification diagrams). - Limits are no longer explicitly required for bivariate templates (xlim, ylim) in
pyrolite.util.classification
. - Update default parameterisation to "full" for
lambdas
, using all REE to generate orthogonal polynomial functions. - Expanded
pyrolite.util.text.int_to_alpha()
to handle integers which are greater than 25 by adding multiple alphabetical characters (e.g. 26 > aa), and to use the built-instring.ascii_lowercase
. save_figure()
will now create the directory it’s given if it doesn’t exist.- Citation information for
lambdas
updated to include recent publications. - Updated
plot_pca_vectors()
to accept linecolors
andlinestyles
arguments. - Updated
init_spherical_octant()
to accept afontsize
argument. - Added example for coloring ternary diagrams and ternary scatter points based on a ternary color system.
- Added helper for generating PCA component labels from a scikit-learn PCA object (
get_PCA_component_labels()
) - Updated confusion matrix visualisation helper
plot_confusion_matrix()
to remove grid and provide more useful default colormap normalization options. - Moved the manifold visualisation example to utility examples from plotting examples.
- Added a
fmt_string
argument toLogTransform
for use in automated naming of transformed columns; this may be expanded to other transformers soon. - Fixed some string issues for
pyrolite.util.text
.
0.3.0
0.3.0 Changelog
- New Contributor: Lucy Mathieson
- Continuous Integration has been migrated from Travis to GitHub Actions.
- Added an
environment.yml
file for development environment consistency. - Removed some tests dependent on
xlrd
due to external issues with reading.xls
and.xlsx
files with some OS-Python version combinations. - Fixed some broken documentation links.
- Added
psutil
to requirements.
pyrolite.plot
- Bugfix: Fixed a bug where there scatter and line arguments would conflict for
spider
(#46). To address this,spider
and related functions will now accept the keyword argumentsline_kw
andscatter_kw
to explicitly configure the scatter and line aspects of the spider plot - enabling finer customization. An extra example has been added to the docs to illustrate the use of these parameters. Thanks go to Lucy Mathieson for raising this one! - Added the
set_ticks
keyword argument tospider
and associated functions, allowing ticks to be optionally set (set_ticks=False
if you don't want to set the x-ticks). - Updated
pyrolite.plot.color.process_color
to better handle colour mapping and added examples illustrating this. You can also now use RGBA colours when using thecolor_mappings
keyword argument. - Updated automated pyrolite
matplotlib
style export to be more reliable.* Changed the default shading fordensity
to suppress error about upcomingmatplotlib
depreciation. - Ordering for contours, contour names and contour styles is now preserved for
density
and related functions. - Updated
pyrolite.plot.templates.pearce
to use ratios from Sun & McDonough (1989), as in the Pearce (2008) paper.
pyrolite.geochem
- Bugfix: Fixed a bug where Eu was unnecessarily excluded from the
lambda_lnREE
fit in all cases. - Bugfix: Fixed a bug where ratio-based normalisation was not implemented for
get_ratio
and related functions (#34). - Added a local variable to
pyrolite.geochem.ind
to allow referencing of indexing functions (e.g.by_incompatibility
) by name, allowing easier integration with :func:~pyrolite.plot.pyroplot.spider
. - Added
by_number
for indexing a set of elements by atomic number.
pyrolite.comp
- Updated the docstring for
pyrolite.comp.impute.EMCOMP
. - Minor updates for
pyrolite.comp.codata
labelling, and reflected changes inpyrolite.util.skl.transform
. Issues were identified where the column name 'S' appears, and a workaround has been put in place for now.
pyrolite.util
- Expanded
pyrolite.util.lambdas
to allow fitting of tetrad functions, anomalies and estimation of parameter uncertainties for all three algorithms. - Added
pyrolite.util.resampling
for weighted spatiotemporal bootstrap resampling and estimation, together with added a number of updates topyrolite.util.spatial
to provide required spatial-similarity functionality. - Updated the geological timescale in
pyrolite.util.time
to use the 2020/03 version of the International Chronostratigraphic Chart (#45). - Added
alphalabel_subplots
for automatic alphabetic labelling of subplots (e.g. for a manuscript figure). - Fixed an low-precision integer rollover issue in a combinatorial calculation for
pyrolite.util.missing
by increasing precision to 64-bit integers. - Added
example_patterns_from_parameters
to work withpyrolite.util.lambdas
and generate synthetic REE patterns based on
lambda and/or tetrad-parameterised curves. - Moved
get_centroid
frompyrolite.util.classification
topyrolite.util.plot.helpers
- Made a small change to
density
to allow passing contour labels as a list. mappable_from_values
will not accept anorm
keyword argument, allowing use of colormap normalisers likematplotlib.colors.Normalize
. This function was also updated to better handleSeries
objects.- Fixed a small bug for
TAS
instantiation which didn't allow passing the variables to be used from apandas.DataFrame
. If you have different variable names, you can now pass them as a list with theaxes
keyword argument (e.g.TAS(axes=['sio2', 'alkali'])
). - Homogenised logging throughout the package - now all managed through
pyrolite.util.log
. The debugging and logging streaming function
stream_log
can now also be accessed here (pyrolite.util.log.stream_log
).
0.2.8
0.2.8 Changelog
- Updated citation information.
- Added specific testing for OSX for Travis, and updated the install method to better pick up issues with pip installations.
- Feature: Added a gallery of pages for each of the datasets included with
pyrolite
. This will soon be expanded, especially for the reference compositions (to address #38).
pyrolite.geochem
- PR Merged: Kaarel Mänd submitted a pull request to add a number of shale and crustal compositions to the reference database.
- Bugfix: Fixed a bug where lambdas would only be calculated for rows without missing data. Where missing data was present, this would result in an assertion error and hence no returned values.
- Bugfix: Fixed a bug where missing data wasn't handled correctly for calculating lambdas. The functions now correctly ignore the potential contribution of elements which are missing when parameterising REE patterns. Thanks to Steve Barnes for the tip off which led to identifying this issue!
- Feature: Added
pyrolite.geochem.ind.REY
,pyrolite.geochem.pyrochem.list_REY
, andpyrolite.geochem.pyrochem.REY
to address
(#35). This issue was also opened by Kaarel Mänd! - As a lead-in to a potential change in default parameterisation, you can now provide additional specifications for the calculation of
lambdas
to
pyrolite.geochem.pyrochem.lambda_lnREE
andpyrolite.util.lambdas.calc_lambdas
to determine the basis over which the individual orthogonal polynomials are defined (i.e. which REE are included to define the orthonormality of these functions). For the keyword argumentparams
, (as before) you can pass a list of tuples defining the constants representing the polynomials, but you can now alternatively pass the string"ONeill2016"
to explicitly specify the original parameterisation, or :code:"full"
to use all REE (including Eu) to define the orthonormality of the component functions (i.e. usingparams="full"
). To determine which elements are used to perform the fit, you can either filter the columns passed to these functions or specifically exclude columns using theexclude
keyword argument (e.g. the default remainsexclude=["Eu"]
which excludes Eu from the fitting process). Note that the default for fitting will remain, but going forward the default for the definition of the polynomial functions will change to use all the REE by default (i.e. change toparams="full"
). - Significant performance upgrades for
pyrolite.geochem.pyrochem.lambda_lnREE
and associated functions (up to 3000x for larger datasets). - Added a minimum number of elements, configurable for
pyrolite.geochem.pyrochem.lambda_lnREE
. This is currently set to seven elements (about half of the REE), and probably lower than it should be ideally. If for some reason you want to test what lambdas (maybe just one or two) look like with less elements, you can use themin_elements
keyword argument. - Added
pyrolite.geochem.pyrochem.list_isotope_ratios
and corresponding selectorpyrolite.geochem.pyrochem.isotope_ratios
to subset isotope ratios. - Added
pyrolite.geochem.pyrochem.parse_chem
to translate geochemical columns to a standardised (and pyrolite-recognised) column name format.
pyrolite.plot
- Bugfix: Fixed a bug where arguments processing by :mod:
pyrolite.plot.color
would consume the 'alpha' parameter if no colour was specified (and as such it would have no effect on the default colors used bymatplotlib.pyplot
) - Bugfix:
pyrolite.plot.color
now better handles colour and value arrays. - Bugfix: Keyword arguments passed to
pyrolite.plot.density
will now correctly be forwarded to respective functions for histogram and hexbin methods. - Customised :mod:
matplotlib
styling has been added for :mod:pyrolite
plotting functions, including legends. This is currently relatively minimal, but could be expanded slightly in the future. - The
bw_method
argument forscipy.stats.kde.gaussian_kde
can now be parsed bypyrolite
density-plot functions (e.g.pyrolite.plot.pyroplot.density
,pyrolite.plot.pyroplot.heatscatter
). This means you can modify the default bandwidth of the gaussian kernel density plots. Future updates may allow non-Gaussian kernels to also be used for these purposes - keep an eye out! - You can now specify the y-extent for conditional spider plots to restrict the range over which the plot is generated (and focus the plot to where your data actually is). For this, feed in a
(min, max)
tuple for theyextent
keyword argument. - The
ybins
argument forpyrolite.plot.pyroplot.spider
and related functions has been updated tobins
to be in line with other functions. - Conditional density
pyrolite.plot.pyroplot.REE
plots now work as expected, after some fixes for generating reverse-ordered indexes and bins - Added a filter for ternary density plots to ignore true zeroes.
- Some updates for
pyrolite.plot.color
for alpha handling and colour arrays .
pyrolite.comp
- Updated transform naming to be consistent between functions and class methods. From this version use capitalised versions for the transform name acronyms (e.g.
ILR
instead ofilr
). - Added for transform metadata storage within DataFrames for
pyrolite.comp.pyrocomp
, and functions to access transforms by name. - Added labelling functions for use with
pyrolite.comp.pyrocomp
andpyrolite.comp.codata
to illustrate the precise relationships depicted by the logratio metrics (specified using thelabel_mode
parameter supplied to each of the resepective pyrolite.comp.pyrocomp` logratio transforms).
pyrolite.util
- Revamped
pyrolite.util.classification
to remove cross-compatibility bugs with OSX/other systems. This is now much simpler and uses JSON for serialization. - Small fix for
pyrolite.util.plot.style.mappable_from_values
to deal with NaN values. - Added
pyrolite.util.log
for more streamlined logging (frompyrolite-meltsutil
) - Added
pyrolite.util.spatial.levenshtein_distance
for comparing sequence differences/distances between 1D iterables (e.g. strings, lists).
0.2.7
Note that this is the version of pyrolite
offically peer-reviewed by pyOpenSci.
0.2.7 Changelog
- Bugfix to include radii data in MANIFEST.in
0.2.6 Changelog
- New Contributors: Kaarel Mänd and Laura Miller
- PR Merged: Louise Schonevel submitted a pull request to fill out the newly-added Formatting and Cleaning Up Plots tutorial. This tutorial aims to provide some basic guidance for common figure and axis formatting tasks as relevant to
pyrolite
. - Added
codacy
for code quality checking, and implemented numerous clean-ups and a few new tests across the package. - Performance upgrades, largely for the documentation page. The docs page should build and load faster, and have less memory hang-ups - due to smaller default image sizes/DPI.
- Removed dependency on
fancyimpute
, instead using functions fromscikit-learn
pyrolite.geochem
- Bugfix: pyrolite lambdas differ slightly from O'Neill's 2016 paper[1] (#39). Differences between the lambda coefficients of the original and pyrolite implementations of the lambdas calculation were identified (thanks to Laura Miller for this one). With further investigation, it's likely the cost function passed to
scipy.optimize.least_squares
contained an error. This has been remedied, and the relevant pyrolite functions now by default should give values comparable to O'Neill (2016). As part of this, the reference compositionChondriteREE_ON
was added to the reference database with the REE abundances presented in that paper.. - Bugfix: Upgrades for
pyrolite.geochem.transform.convert_chemistry
to improve performance (#29). This bug appears to have resulted from caching the function calls topyrolite.geochem.ind.simple_oxides
, which is addressed with 18fede0. - Feature: Added the Whittaker and Muntus (1970)[2] ionic radii for use in silicate geochemistry (#41), which can optionally be used with
pyrolite.geochem.ind.get_ionic_radii
using thesource
keyword argument (source='Whittaker'
). Thanks to Charles Le Losq for the suggestion! - Bugfix: Removed an erroneous zero from the GLOSS reference composition (
GLOSS_P2014
value for Pr). - Updated
pyrolite.geochem.ind.REE
to default todropPm=True
- Moved
pyrolite.mineral.ions
topyrolite.geochem.ions
[1]: O’Neill, H.S.C., 2016. The Smoothness and Shapes of Chondrite-normalized Rare Earth Element Patterns in Basalts. J Petrology 57, 1463–1508. doi: 10.1093/petrology/egw047
[2]: Whittaker, E.J.W., Muntus, R., 1970. Ionic radii for use in geochemistry. Geochimica et Cosmochimica Acta 34, 945–956. doi: 10.1016/0016-7037(70)90077-3
pyrolite.mineral
- Bugfix: Added the mineral database to
MANIFEST.in
to allow this to be installed withpyrolite
(fixing a bug where this isn't present, identified by Kaarel Mänd).
pyrolite.plot
- Bugfix: Updated
pyrolite.plot
to usepandas.DataFrame.reindex
overpandas.DataFrame.loc
where indexes could include missing values to deal with #31. - Updated
pyrolite.plot.spider.spider
to acceptlogy
keyword argument, defaulting toTrue
pyrolite.util
- Broke down
pyrolite.util.plot
into submodules, and updated relevant imports. This will result in minimal changes to API usage where functions are imported explicitly. - Split out
pyrolite.util.lambdas
frompyrolite.util.math
- Added a minimum figure dimension to
pyrolite.util.plot.axes.init_axes
to avoid having null-dimensions during automatic figure generation from empty datasets. - Added
pyrolite.util.synthetic.example_spider_data
to generate an example dataset for demonstrating spider diagrams and associated functions. This allowed detailed synthetic data generation forpyrolite.plot.pyroplot.spider
andpyrolite.plot.pyroplot.REE
plotting examples to be cut down significantly. - Removed unused submodule
pyrolite.util.wfs
0.2.5
0.2.5 Changelog
- PR Merged: @lavender22 updated the spider diagram example to add a link to the normalisation example (which lists different reservoirs you can normalise to).
- Added an 'Importing Data' section to the docs Getting Started page.
- Disabled automatic extension loading (e.g. for
pyrolite_meltsutil
) to avoid bugs during version mismatches.
pyrolite.comp
- Updated the
pyrolite.comp.pyrocomp
dataframe accessor API to include
reference to compositional data log transform functions withinpyrolite.comp.codata
pyrolite.plot
- Added support for spider plot index ordering added with the keyword
index_order
(#30) - Added support for color indexing in
pyrolite.plot.color
using
pandas.Series
, and also for list-like arrays of categories - Added a workaround for referring to axes positions where the projection is changed
to a ternary projection (displacing the original axis), but the reference to the
original axes object (now booted fromfig.axes
/fig.orderedaxes
) is
subsequently used. - Updated
pyrolite.plot.color.process_color
processing of auxillary
color keyword arguments (fixing a bug for color arguments inpyrolite.plot.stem
) - Added support for a
color_mappings
keyword argument for mapping
categorical variables to specific colors. - Updated the effect of
relim
keyword argument of
pyrolite.plot.density.density
to remove the scaling (it will no longer
log-scale the axes, just the grid/histogram bins). - Updated
pyrolite.plot.ternary.grid.Grid
to accept an x-y tuple to specify
numbers of bins in each direction within a grid (e.g.bins=(20, 40)
) - Updated the grids used in some of the
pyrolite.plot.density.density
methods to be edges, lining up the arrays such that shading parameters
will work as expected (e.g.shading='gouraud'
)
pyrolite.geochem
- Added sorting function
pyrolite.geochem.ind.by_imcompatibility
for incompatible element sorting (based on BCC/PM relative abundances).
pyrolite.mineral
- Minor bugfix for
pyrolite.mineral.mindb.update_database
pyrolite.util
- Moved
pyrolite.util.general.check_perl
out ofpyrolite
intopyrolite_meltsutil