For details on what to expect in general when updating to a new version of Androiplot, check out the versioning doc.
- Update project to use latest gradle / build tools
- (#114) fix
setLinesPerRangeLabel
&setLinesPerDomainLabel
- (#107) Fix ambiguous ordinal for render mode attributes
- (#104) Fix issue with background rendering in RecyclerView.
- Adds a RecyclerView example to demo app.
- Maintenance release - update dependences, get off jcenter, etc.
- (#94) Potential fix / better error logging for a crash caused by a buffered canvas resize with illegal arguments.
- (#93) Fix Android 9 compiler warnings.
- (#83) Fix NPE when attempting to recycle an already null buffered canvas instance.
- Remove unused
PlotRenderException
. - Added
IN_ORDER
BarRenderer mode.
- Adds convenience methods for saving / restoring
PanZoom
state. - (#80) Targets SDK 28, fixing compatibility issues.
- (#76) Fixed a bug that could cause a deadlock when grid steps are much larger than actual plot range.
- (#78) Fixed a bug where setting insets on XYGraphWidget would have no effect after the plot was drawn.
- XYGraphWidget.drawMarkerText is now marked
protected
.
- (#69) Fixed a bug in
SimpleXYPlot
preventing the resizing ofY_VALS_ONLY
formatted series. - (#73) Fixed a bug where dynamically resizing a Plot (by marking a sibling view as
GONE
, etc.) would not resize the graph widget.
- Minor cleanup of Widget example source.
- (#67) Fixed Javadoc link
This version is pickier than it's predecessors about proper XML configuration. Where
previous versions would silently ignore illegal XML attrs, a RuntimeException
will be thrown.
- Added sizing documentation
- Added custom renderer documentation
- Fixed (#61) Bug in
XYGraphWidget.screenToSeriesY(...)
. - Fixed (#63) Fixed compatibility issue with Gradle 3.x.x that caused issues with XML parsing.
- (#52) Fixed minor NPE issue
- (#55) Fixed bug with
PieRenderer.getContainingSegment
not working for very large segments.
Updates to legend functionality in this version may result in changes to the display order
of legend items in some cases. A custom Comparator
can be used to resolve this if necessary;
see the legend doc for implementation details.
- Added legend doc
- Added legend support to
PieChart
- Added configurable legend item sorting
- (#45) Auto range boundaries calculation fix for when using a fixed domain range and a
FastXYSeries
- Minor Performance Optimizations
- (#39)
FastLineAndPointRenderer
now renders vertices for legend items. - Added XML Attrs reference doc.
- (#32) New step mode:
INCREMENT_BY_FIT
. - (#33)
PanZoom
support forINCREMENT_BY_FIT
. - (#34) Removed examples and documentation for serializing
SeriesRegistry
to preserve state.
- (#26) Fixed an NPE issue when drawing null values with a
PointLabeler
. - Fixed a broken link in Quickstart doc.
- Moderate refactor of
PieRenderer
. Documentation has been updated to reflect these changes. - Major refactor of
BarRenderer
. Documentation has been updated to reflect these changes. - Added
ScalingXYSeries
which wraps other instances ofXYSeries
to be dynamically scaled. This is particularly useful for creating animated intros usingXYSeries
data. - Added AnimatedXYPlotActivity
demonstrating the use of
ScalingXYSeries
to create an animated intro. XYPlot.getXVal(..)
andXYPlot.getYVal(...)
methods have been deprecated and will be removed in 1.5.0.XYPlot.screenToSeries(...)
andXYPlot.seriesToScreen(...)
should be used instead.- Domain and range cursors are now disabled by default. To enable, set a valid cursor position using
XYGraphWidget.setCursorPosition(float, float)
. Cursor position values are expressed in screen coordinates; you can convert between screen and series values usingXYPlot.screenToSeries(...)
andXYPlot.seriesToScreen(...)
.
- Added NormedXYSeries wrapper to simplify the process of normalizing xy series data.
- Added DualScaleActivity
demonstrating
NormedXYSeries
usage to present dual range scales. - LineAndPointRenderer options for cases where two or mode series' of different size have been added.
- Fixed a bug causing points scrolled off-screen to occasionally accumulate and render along the left edge of the graph.
- Fixed a bug that could cause render jitter when extreme zoom levels were applied.
- Fixed a bug that prevented
PanZoom
from working properly on plots with an undefined outer limit.
- Added sampling support. See the Advanced XY Plot doc for details.
- PanZoom performance enhancements & bug fixes. If you're currently using PanZoom you'll likely need to update your code as the interface has slightly changed.
- Added leakcanary to DemoApp for debug builds.
- More unit test coverage
- Fixed a bug that prevented an instance of a given series from being added more than once, even when a unique formatter is supplied.
- Added
Formatter.getLegendIconEnabled()
andFormatter.setLegendIconEnabled(boolean)
, used to enable / disable drawing legend items for individual series / formatter pairs. - Added
XYGraphWidget.Edge.NONE
to be used withXYGraphWidget.setLineLabelEdges(Edge...)
to disable all edges.
- BarRenderer / BarFormatter cleanup
- More documentation!
- Bounds and XYBounds have been merged into Region and RectRegion respectively.
- ValPixConverter has been removed and it's functionality migrated to Region and RectRegion.
- Added Region.transform(...) and RectRegion.transform(...)
- Added Region.ratio(...) and RectRegion.ratio(...)
- XYPlot.getCalculatedMinX(), XYPlot.getCalculatedMaxX(), XYPlot.getCalculatedMinY() and XYPlot.getCalculatedMinY() have been replaced with XYPlot.getBounds().
- Configurator has become it's own library - Fig!
- New constructors have been added to Formatters to simplify XML configuration via Fig.
- Added Jacoco code coverage reporting
Pie chart has been updated with new methods and format attributes to improve segment selection and highlighting functionality:
- Added
offset
,radialInset
,innerInset
andouterInset
properties to SegmentFormatter.
See the pie chart documentation for usage details. - Updated PieRenderer to support the new SegmentFormatter properties.
- SimplePieChartActivity has been updated to provide an interactive demo of some of these new features.
- Added
Plot.getListeners()
method. - Added FastLineAndPointRenderer, updated OrientationSensorExampleActivity to use it.
- Updated to target SDK 24, removed sdkmanager dependency, and other misc. updates to project deps etc.
- Lots of additions and updates to documentation
- Added CircleCI support
- Added drawGridOnTop param to XYGraphWidget; when set to true, grid lines will be drawn on top of rendered series data. (default is false)
- Added PanZoom class providing one-line configuration of pan/zoom behavior for instances of XYPlot. See TouchZoomExampleActivity for a usage example.
- Removed InteractiveXYPlot as PanZoom makes it obsolete.
This is a factor of several core elements of the Androidplot lib. The general theme was to make class and method names more intuitive and to make xml styling more powerful.
- Major refactor of XYGraphWidget
- Tick renamed to Line
- Extensible Label Formatters
- getXXXWidget methods renamed to simply getXXX
- Per-edge tick extensions
- Moved documentation into vcs. Docs from 1.0 forward will be maintained here. (TODO)
- plot label xml param renamed to title