amCharts 5: Charts 5.x
Released: Nov 3, 2021
Mises à jour de 5.x
5.4.11
Updated Oct 10, 2023
Fixes
SliceGrouper would use first color in series for a "group" slice if series was using a color set with custom list of colors.
- Fixed a problem where no series was displayed after data with all 0 values was set (since
5.4.10).
forceInactive was not working on Container.
5.4.9
Updated Oct 6, 2023
Fixes
- Zoom out button on
XYChart was not focusable.
- Pulled out slices of a
PieSeries could overlap with other slices if some slices were hidden.
- Pinch-zooming was not working properly in
XYChart.
5.4.8
Updated Sep 22, 2023
Fixes
"z" date formatting codes were not respecting the Root.timezone setting.
- If a new data was loaded and
groupData of DateAxis was changed from true to false, the chart was not displaying the newly-loaded data properly.
- Accessibility: togglable elements like legend items were not being toggled by ENTER and SPACE keys with some screen readers (JAWS, Narrator) active.
- In some case chart could freeze when selecting with an
XYCursor and releasing outside plot area.
- If a new animation of the same setting was created right after previous animation finished (on
Animation's "stopped" event) the animation would not play.
5.4.7
Updated Sep 18, 2023
Features
- Added
originalEvent to all XYCursor events.
- Added
selectcancelled event to XYCursor.
Fixes
- HTML axis label on a circular chart were causing unnecessary CPU usage in some setups.
5.4.6
Updated Sep 4, 2023
Features
- When using the JSON parser, it's now possible to use a
"@series" ref inside of a bullet to access the series of the bullet.
- When using the JSON parser, it's now possible to use
"#foo.get('bar')" syntax to look up settings on the referenced object.
Fixes
- In some cases
DateAxis could error out when using time zones.
- Canvas container had
aria-hidden was set to incorrect value.
- Bullets now work correctly with the JSON parser.
5.4.5
Updated Aug 26, 2023
Features
- A new method
addChildData() has been added to Hierarchy.
Fixes
- Vertical wheel-scrolling is no longer prevented if
wheelY: "none" is set, regardless of the wheelX setting.
5.4.4
Updated Aug 18, 2023
Features
- New setting on Sankey: linkSort. Set it to a custom function for sorting links, or to null to use link order from data.
- Data items with null values will be ignored altogether when grouping data.
- Accessibility: focus element of the non-visible focusable items (e.g. buttons) will now have aria-hidden attribute set, so they are not read out by screen readers.
Fixes
- In some setups month/year selectors were wrapping to two lines in a DateRangeSelector.
- Fixing issue with chart not showing up sometimes.
- XYChartScrollbar thumb area was not draggable since 5.4.3.
5.4.3
Updated Aug 15, 2023
Features
- Accessibility: Focus element of the non-visible focusable items (e.g. buttons) will now have
aria-hidden attribute set, so they are not read out by screen readers.
Fixes
- Fixing chart being resized incorrectly inside of nested flexbox.
5.4.2
Updated Aug 7, 2023
Features
- Added a new method on all axis renderers:
toGlobalPosition(position). Converts relative axis position taking into account its current zoom count.
- Added a new setting on
FlowNodes: disabledField. Allows pre-collapsing of nodes using data.
Fixes
- Fixed the JSON parser to work with
geoJSON.
- Fixed the JSON parser to work with
stops.
- Fixed the behavior of
calculateSize when using transform: scale.
5.4.1
Updated Jul 18, 2023
Features
- All Flow (Sankey, Chord and Arc) nodes can now be toggled (on by default).
- Added new
Flow settings: hiddenSize and minHiddenValue.
Chord's default value of "sort" has been changed from "descending" to "none".
Fixes
Label with wrapping/truncation, containing only symbols like question mark could make the whole chart break in a dead loop.
LineSeries was not being included in the calculation of min/max of the vertical ValueAxis if it did not have any data points in current zoom scope of the horizontal DateAxis.
5.4.0
Updated Jul 4, 2023
Features
- Added a new hierarchy-based series: Voronoi Treemap.
- Added a new flow-based series: Arc Diagram.
- Label wrapping mechanism will now treat a zero-width space character as a word break.
5.3.17
Updated Jun 28, 2023
Features
getTooltipText() method on Axis now has a second parameter adjustPosition (default: true). It only affects DateAxis. If set to false will not adjust position before formatting date by base interval.
Root element now has three additional settings: focusable, ariaLabel and role (all are empty by default).
- Accessibility: The
role of the <div> element that holds focusable elements has been changed to graphics-document (was application) to better reflect interactive element.
- Accessibility:
<div> element that holds <canas> elements now has aria-hidden="true" set.
- If using
type with the JSON plugin, it will now always replace the existing Entity instead of merging.
Fixes
ariaLabel on horizontal scrollbar grips were being populated to a slightly wider range than actual range of the related DateAxis.
ExportingMenu methods open() and toggle() were not working when attached to click events on external elements.
- The JSON plugin can now change properties on a
ListTemplate (like grid).
- Tooltip was not always hidden when
sprite.hideTooltip() was called.
- If a mouse pointer was over a
Sprite and tooltipPosition was changed from "fixed" to "pointer", it was not following mouse unless you unhovered and then hovered over sprite again.
5.3.16
Updated Jun 13, 2023
Fixes
- Legend label's were losing their disabled state if labels were updated by moving cursor.
XYCursor will no longer freeze when selecting and pointer moves out of plot area.
Treemap's focus navigation using arrow keys and focusableGroup was not working properly.
Annotator plugin was sometimes retaining drawings after drawing was canceled.
5.3.15
Updated Jun 1, 2023
Fixes
- Memory leak when modifying
Legend data fixed.
5.3.14
Updated May 30, 2023
Fixes
- Interactive HTML tooltips with internal element structure were generating unhover events unnecessarily since
5.3.13.
5.3.13
Updated May 30, 2023
Features
- Added new
forceLTR (default: false) setting on NumberFormatter. If set to true, it will force all formatted numbers to be LTR, regardless of the direction settings on chart/page.
Legend: true has been added to dataContext of a legend bullet DataItem (bullets are created for LineSeries), just so that it is possible to distinguish between bullets created for series and legend.
Fixes
Hierarchy was not not keeping its node toggle state after resize.
- Always-on / on-click
Tooltip was not being disposed properly when Root element was disposed.
- Memory leak was happening when disposing a
Container with verticalScrollbar enabled.
PieSeries was erroring if its stroke setting was set.
5.3.12
Updated May 5, 2023
Features
- Added a new locale: Faroese (fo_FO).
- The
min and max settings are now optional for IHeatRule.
- Removed
XLSX package (with vulnerability) from dependencies in favor of a bundled hard copy (version 0.19.3) due to their decision not to publish to NPM.
Fixes
- Events now work properly with open shadow DOM (but not closed shadow DOM).
- Fixed export of data freezing in some cases where there are visual elements on the chart that are constantly being updated.
- Using parentheses in the in-line number formatting function was not working as needed.
- Tapping on a touch display outside chart was applying default state to elements that weren't being "touch-hovered".
getDataItemById() method was not working properly on Hierarchy series.
5.3.11
Updated Apr 7, 2023
Features
- Potentially a breaking change - All HTML content in tooltips now has interactivity disabled. If you have buttons/links or other interactive elements, you need to explicitly set
tooltip.label.set("interactive", true).
Fixes
- HTML tooltips were flickering when moving pointer over them.
- Hierarchy drill-downs were broken in some cases (since 5.3.10).
- TAB-focusing of elements on the page might get stuck in a chart if tabbing started outside the document.
5.3.10
Updated Apr 6, 2023
Features
- Improved rendering/sizing of the HTML-based tooltips.
Fixes
- Accessibility: Legend item's ARIA labels will not contain "Press ENTER to toggle" message if the
clickTarget = "none" is set.
5.3.9
Updated Mar 31, 2023
Features
- Added new
PeriodSelector setting: hideLongPeriods. Indicates whether to hide buttons for periods that are longer than the actual data on chart.
- Added new
DrawingControl methods: clearDrawings() and setEraser(true | false).
- Methods
hide() and show() will now properly hide and show any indicator.
Fixes
- HTML-based tooltips were sized incorrectly in some cases.
- Setting
pointerOrientation on a Tooltip was not updating an already visible tooltip.
5.3.8
Updated Mar 24, 2023
Features
- Auto-hidden (as per
oversizedBehavior: "hide" setting) Label elements will now trigger boundschanged events.
- Defaults of
marginTop and marginBottom have been set to 1 on all ZoomControl buttons.
Fixes
- HTML-based tooltips were not being properly sized on first show unless Animated theme was enabled
- HTML-based tooltips were sometimes ignoring
keepTargetHover: true.
- Tooltip positions were off when exporting a chart with
tooltipContainerBounds set.
DrawingControl can now be used completely standalone.
- Internal tweaks that were occasionally interfering with some drag-and-drop libs.
- Horizontal columns were not being properly highlighted when gaining focus.
- Old bullets of data item were not being cleared if
series.data.setIndex was used to update old data (since 5.3.7).
zoomToValues() (and zoomToDates() by extension) method on GaplessDateAxis was not working correctly with a date range outside of actual data range.
5.3.7
Updated Mar 9, 2023
Features
- Added new
calculateSize setting on Root. This is needed if you are using a transform: scale(...) CSS style.
- Added new settings on
DateRangeSelector: minDate and maxDate. Allows restricting date selection to specific date ranges.
DateRangeSelector will now limit dates to actual range of data. To disable set minDate and maxDate to null.
Fixes
XYSeries were creating Bullet objects even if distance between them was less than minBulletDistance which was not efficient and could slow the browser down.
- Fixed issue with mutating ES6 modules.
- Fixed more issues with
ghostLabel obstructing interactivity for other labels.
- Bullet function was not being called when a single data item of the series was updated.
5.3.6
Updated Feb 27, 2023
Features
- Added a new
cors setting for Picture (defaults to "anonymous").
beginPath method has been added to CanvasGraphics.
Fixes
- Theme states no longer override user states.
- In some specific cases with stacked axes series position could be shifted up.
- In some specific cases a hairline of a column of a
ColumnSeries could remain visible on the plot area even if the whole column was out of visible axis bounds.
- A
ghostLabel was causing some interfering issues with interactive labels of an axis.
5.3.5
Updated Feb 24, 2023
Fixes
- Down state was changed to a default state if a draggable object was unhovered while dragging.
- Reverting "Fixing bug where click event was not dispatched on tooltips outside of the chart boundaries" introduced in
5.3.4 as it was causing other issues.
5.3.4
Updated Feb 20, 2023
Features
cellWidth read-only private setting has been added to Axis. This holds a distance in pixels between two grid lines. It might not be accurate as grid on DateAxis might not be at equal intervals.
getCellWidthPosition() has been added to all axis types. This returns the relative distance between two grid lines of the axis.
Fixes
- HTML-based tooltip might produce a funky animation if it was displayed very close to the edge of the chart.
- Fixing bug where click event was not dispatched on tooltips outside of the chart boundaries.
GaplessDateAxis was not taking into account missing dates when using zoomToDates() or zoomToValues() methods.
- When data grouping was on and data was changed,
ValueAxis was zooming to incorrect position.
- Radial labels sometimes could get reversed when updating their settings.
5.3.3
Updated Feb 8, 2023
Features
- Added a new method on
Language: addTranslationsAny(). Allows you to add custom translations to locale.
Fixes
getCellWidthPosition() method on a CategoryAxis was returning a wrong result.
5.3.2
Updated Feb 3, 2023
Fixes
- Panning/zooming with a right mouse button was disabled.
- Private settings
selectionMinFinal and selectionMaxFinal were not being set on a DateAxis.
5.3.1
Updated Jan 31, 2023
Features
mainDataItems getter has been added to XYSeries. It returns ungrouped data items array.
crisp is now set to true by default in Tick elements.
Fixes
- If all values in a grouped period were null, series showed 0 instead of omitting data point when group value was set to "sum".
- Tooltip of a series with
maxTooltipDistance: -1 could be hidden when it should have been shown.
- Fixing type error with
@types/d3-hierarchy.yarn ex.
5.3.0
Updated Jan 27, 2023
Features
- Added new
JSON plugin which allows serializing and parsing serialized (JSON) configs into charts.
crisp (default: false) setting has been added to Sprite. If set to true, will adjust strokeWidth to match screen zoom (retina) as well as its positions will be rounded up, so the lines look crisper. It's primarily meant for straight lines, but can work on other objects, too. Use with care, as coordinate rounding might produce overlapping or gaps between shapes that should be adjacent.
- Added new
Root property: accessible (default: true).
- Added new
Root property: updateTick (default: true). Set it to false to temporarily disable all rendering on Root. Reset back to true to resume rendering. Useful when you need to do a bunch of async operations that might result in errors if rendering started before all of them finish.
crisp is now set to true by default on elements that use straight lines, like grid, ticks, resize button icon, etc.
- The generated code now uses
es2015 target instead of es5.
Fixes
- Labels on a
GaplessDateAxis might get hidden at some zoom levels.
"YYYY" (year of week) in date format was not working properly in all cases.
- Fixed two memory leak sources related to disposing of charts.
5.2.50
Updated Jan 20, 2023
Features
- Added Bulgarian (bg_BG) locale.
Fixes
- Treemap went into Stack overflow error if initialized in a hidden div.
5.2.48
Updated Jan 17, 2023
Features
- Added Slovak (sk_SK) locale.
Fixes
- Grid was not being placed in correct place on a DateAxis with grid or grid interval in 30 minutes.
- Cursor tooltip was not being snapped to an XYSeries with snapTooltip: true when it was left of the first available data item.
- PeriodSelector was not properly zooming the X axis with a non-standard value in firstDayOfWeek locale.
5.2.47
Updated Jan 4, 2023
Fixes
ColumnSeries with null values could display 1px height loose column on top of the plot container.
5.2.46
Updated Jan 2, 2023
Fixes
- When
Tooltip had keepTargetHover: true set, the portions of the tooltip outside the chart area were not being registered for hovers when the Root element had tooltipContainerBounds set.
DateAxis with data grouping enabled could go into infinite loop of switching between period in some specific data setups.
5.2.45
Updated Dec 20, 2022
Fixes
ZigZag indicator was always using 5% deviation even if user set a different value.
- If data of a legend was updated, labels of a legend were not updated properly in all cases.
- A tooltip for a
ColumnSeries/CandlestickSeries was not being hidden if a cursor was used and mouse was moved away from the chart.
5.2.44
Updated Dec 20, 2022
Fixes
- If a
ForceDirected node with topDepth set to 1 was clicked to hide children and then clicked again to reveal them, the clicked node was hidden (since 5.2.42).
ValueAxis with min and max set could result in an empty chart (since 5.2.43).
5.2.43
Updated Dec 19, 2022
Features
- Added new
groupintervalchanged event to DateAxis which kicks in when data grouping is on, and current group interval changes, e.g. via zooming the chart.
Fixes
- Setting
min and max on a DateAxis which was not base axis of a series could result in a stack overflow error in some specific cases.
PeriodSelector was not always highlighting the period button when period was selected via selectPeriod() method.
PeriodSelector was not selecting proper start position on some platforms when data grouping was on and selectPeriod() was called immediately after initialization of the chart.
5.2.42
Updated Dec 16, 2022
Fixes
- If a chart had multiple vertically stacked Y axes and
snapToSeries was set, moving mouse to series in the bottom could cause chart cursor to disappear.
- A legend label for a
ZigZag indicator was showing "NaN" instead of its depth value.
- Hierarchy series'
topDepth setting was not working properly if set to >1.
- If a
Sprite was hidden, it hid it's tooltip even if the tooltip at the moment was used by other element. This caused some wrong behavior with Axis tooltips, as all axis elements share the same tooltip.
PeriodSelector was not properly zooming when data grouping was enabled.
5.2.41
Updated Dec 8, 2022
Fixes
- Canvas left/top position was not set correctly (since 5.2.39).
Root's setting tooltipContainerBounds was not positioning itself outside of the chart if there was space in the chart itself (since 5.2.39).
5.2.40
Updated Dec 8, 2022
Fixes
Root's setting tooltipContainerBounds was being ignored on an XYChart (since 5.2.39).
- HTML content was clipped to chart's dimensions even if
tooltipContainerBounds was used.
5.2.39
Updated Dec 7, 2022
Features
- Added
fillOpacity setting to Label.
- Changed the whole under-the-hood implementation of the
Root's setting tooltipContainerBounds.
Fixes<