ApexCharts.js: Responsive, Interactive SVG Chart Library for Dashboards and Apps

Category: Chart & Graph , Javascript , Recommended | August 17, 2026
Authorapexcharts
Last UpdateAugust 17, 2026
LicenseMIT
Tags
Views8,298 views
ApexCharts.js: Responsive, Interactive SVG Chart Library for Dashboards and Apps

ApexCharts.js is a JavaScript chart library for responsive, interactive data visualizations.

It generates various types of charts as SVG and uses an options-and-series structure for setup, styling, interaction, and runtime updates.

The library works with Vanilla JavaScript, while official wrappers connect the same chart configuration to React, Vue, and Angular.

Main features

  • 20+ chart types, including line, area, bar, column, scatter, bubble, candlestick, heatmap, treemap, pie, donut, radar, radial bar, gauge, funnel, pyramid, box plot, and violin charts.
  • Interactive zoom, pan, selection, brush charts, synchronized chart groups, tooltips, series toggles, and drilldown navigation.
  • SVG, PNG, CSV, and JSON export through the built-in toolbar or export methods.
  • Category, numeric, XY, datetime, range, and financial data formats.
  • Solid, gradient, pattern, and image fills, plus palettes, dark mode, monochrome themes, CSS colors, and design tokens.
  • Point, X-axis, and Y-axis annotations that can be declared in the options or added after rendering.
  • Responsive option overrides, automatic parent and window resize handling, and compact sparkline mode.
  • Keyboard navigation, screen-reader descriptions, live announcements, reduced-motion support, and color-vision accessibility modes.
  • TypeScript definitions, modular entry points, official framework wrappers, and server-side SVG rendering.

Chart types

  • Cartesian charts: line, area, range area, bar, column, range bar, timeline, scatter, bubble, candlestick, box plot, and violin.
  • Part-to-whole charts: pie, donut, radial bar, gauge, polar area, funnel, and pyramid.
  • Matrix and hierarchy charts: heatmap and treemap.
  • Composite layouts: mixed charts, stacked charts, 100% stacked charts, synchronized chart groups, brush charts, and sparklines.

Several chart types share the same renderer. A line entry point can register line, area, scatter, bubble, and range-area rendering, while the configuration uses the exact value required by chart.type. Pie, donut, radial bar, and other non-axis charts use different series shapes from Cartesian charts.

Installation

Install from npm

npm install apexcharts

The default package import contains every chart type and built-in feature:

import ApexCharts from 'apexcharts'

Load from a CDN

The CDN script exposes the constructor as window.ApexCharts. Place the chart code after the library script and the target element.

<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>

Basic usage

Add a container for the chart:

<div id="sales-chart"></div>

Create the options object, pass it to the constructor, and call render():

const options = {
  chart: {
    type: 'line',
    height: 360,
    toolbar: {
      show: true
    },
    zoom: {
      enabled: true
    }
  },
  series: [{
    name: 'Sales',
    data: [30, 40, 35, 50, 49, 60]
  }],
  xaxis: {
    categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
  },
  stroke: {
    curve: 'smooth',
    width: 3
  },
  dataLabels: {
    enabled: false
  },
  tooltip: {
    shared: true
  },
  responsive: [{
    breakpoint: 640,
    options: {
      chart: {
        height: 280
      },
      legend: {
        position: 'bottom'
      }
    }
  }]
}
const chart = new ApexCharts(
  document.querySelector('#sales-chart'),
  options
)
chart.render()

Working with data

Category data

A simple numeric array supplies Y values. Set the matching X labels in xaxis.categories:

series: [{
  name: 'Orders',
  data: [44, 55, 41, 67]
}],
xaxis: {
  categories: ['Q1', 'Q2', 'Q3', 'Q4']
}

XY data

Objects with x and y properties keep each label or coordinate beside its value. This format works across axis charts and can carry extra fields for tooltips and data labels.

series: [{
  name: 'Orders',
  data: [
    { x: 'Q1', y: 44 },
    { x: 'Q2', y: 55 },
    { x: 'Q3', y: 41 },
    { x: 'Q4', y: 67 }
  ]
}]

Numeric and datetime series

Set xaxis.type to numeric for numeric X coordinates or datetime for timestamps and date strings. Numeric pairs can be written as objects or two-item arrays. Note that Range bars, range areas, box plots, candlesticks, heatmaps, treemaps, and bubble charts require chart-specific Y values. Check the selected chart type before normalizing a dataset into a single generic shape.

series: [{
  name: 'Temperature',
  data: [
    [Date.UTC(2026, 0, 1), 18],
    [Date.UTC(2026, 0, 2), 21],
    [Date.UTC(2026, 0, 3), 19]
  ]
}],
xaxis: {
  type: 'datetime'
}

Configuration reference

OptionDescription
chartSets the type, dimensions, ID, group, toolbar, zoom, selection, animations, events, locale, accessibility, and resize behavior.
seriesContains the datasets and series names. Its data shape depends on the selected chart type.
xaxis and yaxisControl scale types, ranges, ticks, labels, formatters, titles, borders, crosshairs, and multiple axes.
plotOptionsContains settings that belong to bar, pie, radial bar, heatmap, treemap, candlestick, box plot, and other renderers.
stroke, fill, and markersSet line curves and widths, solid or decorative fills, point shapes, sizes, and hover behavior.
colors and themeSet series colors, light or dark mode, palettes, monochrome output, and color-vision modes.
dataLabelsShows values on marks and supplies formatters, offsets, backgrounds, and per-series controls.
tooltip and legendControl hover details, shared values, custom HTML, series visibility, layout, and formatters.
annotationsAdds labeled points, lines, and ranges tied to X or Y values.
responsiveApplies option overrides below specified viewport widths.

Axes, labels, and formatters

The X-axis accepts category, numeric, and datetime scales. Its options include label rotation, duplicate and overlap handling, grouped labels, tick placement, fixed ranges, min and max values, and date formatting. The Y-axis can be reversed, logarithmic, placed on the opposite side, linked to named series, or supplied as an array for multiple scales.

Formatter functions are available for axis labels, data labels, tooltips, legends, export values, and many chart-specific labels. Keep the formatter return value short enough for the available chart space. Long labels can force a larger plot margin or collide when the chart becomes narrow.

yaxis: {
  labels: {
    formatter(value) {
      return '$' + value.toLocaleString()
    }
  }
},
tooltip: {
  y: {
    formatter(value) {
      return '$' + value.toFixed(2)
    }
  }
}

Tooltips, legends, and annotations

Tooltips are enabled by default. A shared tooltip shows values from several series at the same X coordinate. Formatters can change the X label and each series value, while tooltip.custom can return a complete HTML tooltip.

Legends can sit above, below, or beside the plot. Their click and hover behavior can toggle or emphasize series. A custom legend can call toggleSeries(), showSeries(), hideSeries(), or highlightSeries().

Annotations can mark a single point, an X or Y threshold, or a range between two values. Labels accept text, colors, borders, offsets, and mouse callbacks. Runtime methods add and remove annotations on the existing chart instance.

annotations: {
  yaxis: [{
    y: 80,
    borderColor: '#d33',
    label: {
      text: 'Target'
    }
  }],
  xaxis: [{
    x: 'Apr',
    label: {
      text: 'Campaign launch'
    }
  }]
}

Zoom, selection, events, and synchronized charts

The toolbar can expose selection, zoom, zoom in, zoom out, pan, reset, and download controls. chart.zoom.type limits zooming to the X-axis, Y-axis, or both. Mouse-wheel zoom is optional. A brush chart uses its selected X range to control another chart.

Assign each chart a unique chart.id. Charts that share the same chart.group synchronize tooltips, panning, and zooming. The static ApexCharts.exec() method can then call an instance method by chart ID.

Event callbacks are registered in chart.events. Lifecycle hooks include beforeMount, mounted, animationEnd, and updated. Interaction callbacks include clicks, marker and legend actions, selections, zooming, scrolling, keyboard input, and drilldown navigation.

chart: {
  id: 'revenue-chart',
  events: {
    dataPointSelection(event, chartContext, details) {
      console.log(details.seriesIndex, details.dataPointIndex)
    },
    zoomed(chartContext, { xaxis }) {
      console.log(xaxis.min, xaxis.max)
    }
  }
}

API Methods

MethodDescription
render()Draws the chart and returns a Promise.
updateOptions()Merges new configuration into the existing options and can update synchronized charts.
updateSeries()Replaces the current series data.
appendSeries() and appendData()Add a series or append points to existing series.
toggleSeries(), showSeries(), and hideSeries()Change series visibility from custom controls.
zoomX() and resetSeries()Set an X-axis zoom window or restore the initial state.
addXaxisAnnotation(), addYaxisAnnotation(), and addPointAnnotation()Add annotations after rendering.
dataURI()Returns image data for export or use in another document.
destroy()Removes the chart and its event handlers.

Colors, fills, and themes

The top-level colors array assigns colors by series. fill.type accepts solid, gradient, pattern, or image. Bar, pie, donut, and radial bar charts can also use a color function that returns a value-dependent color.

theme.mode switches between light and dark rendering. Ten built-in palettes and a monochrome mode are available. The accessibility theme can replace the palette for deuteranopia, protanopia, and other color-vision needs.

The optional Facet module reads --apx-* CSS custom properties and can follow operating-system light, dark, and contrast preferences. It also supports named themes registered with JavaScript.

import 'apexcharts/features/facet'
ApexCharts.registerTheme('brand', {
  palette: ['#4f46e5', '#0ea5e9']
})
const options = {
  theme: {
    name: 'brand',
    follow: 'os'
  }
}
:root {
  --apx-accent: #4f46e5;
  --apx-grid: #e5e7eb;
  --apx-surface: #ffffff;
}

Responsive behavior

Each item in the responsive array has a maximum-width breakpoint and an options object. Any normal chart option can be overridden there. Useful mobile changes include a shorter chart height, a bottom legend, fewer axis labels, smaller markers, and hidden data labels.

redrawOnParentResize and redrawOnWindowResize are enabled by default. If a chart sits inside a panel that starts hidden, render or update it after the panel has measurable dimensions. Set parentHeightOffset: 0 to remove the default extra space from a fixed-height container.

Large datasets and rendering performance

The standard renderer produces SVG. Dense line, area, bar, column, scatter, and candlestick series can use the hybrid renderer, which paints the series layer on canvas while axes, grid lines, tooltips, annotations, and exports stay in SVG.

import ApexCharts from 'apexcharts'
import 'apexcharts/features/renderer-canvas'
const options = {
  chart: {
    renderer: 'auto',
    rendererThreshold: 8000
  }
}

Pattern fills, image fills, and color-matrix state filters trigger SVG rendering for the affected series. Per-point selection visuals and keyboard traversal also use SVG. Check these interaction and accessibility requirements before selecting canvas rendering.

The data reducer is another option for long series. It uses LTTB for scalar line and area data, while range and financial series use extreme-preserving buckets. Reduction starts only after a series reaches the configured threshold.

chart: {
  dataReducer: {
    enabled: true,
    algorithm: 'lttb',
    targetPoints: 500,
    threshold: 2000
  }
}

For frequently changing data, update the existing instance with updateSeries(), appendData(), or updateOptions(). Shorter animations reduce the delay between refreshes. Sparkline mode removes axes, grid lines, and labels for compact charts.

Tree-shakable imports

The full apexcharts import provides the shortest setup. For a smaller build, start with apexcharts/core and register the chart renderers and features used by the application. Core already includes tooltip support.

Register at least one chart-type entry point with apexcharts/core. An omitted chart-type import produces an unregistered-type error. Optional entry points are available for legends, toolbar controls, exports, annotations, keyboard navigation, drilldown, history, shareable view state, linked charts, plugins, custom marks, design tokens, and other interaction modules.

import ApexCharts from 'apexcharts/core'
import 'apexcharts/line'
import 'apexcharts/features/legend'
import 'apexcharts/features/toolbar'
import 'apexcharts/features/exports'
import 'apexcharts/features/keyboard'
const chart = new ApexCharts(
  document.querySelector('#chart'),
  options
)
chart.render()

Framework wrappers and server-side rendering

Official wrappers manage chart creation, updates, and cleanup for React, Vue 3, and Angular:

# React
npm install react-apexcharts apexcharts
# Vue 3
npm install vue3-apexcharts apexcharts
# Angular
npm install ng-apexcharts apexcharts

Plain JavaScript and the framework wrappers use the same options structure. The wrapper component receives the chart options and series through framework props or inputs, while the underlying ApexCharts package performs the rendering.

Node-based frameworks can render chart SVG on the server, then hydrate it in the browser. The server entry point returns HTML with embedded SVG:

import ApexCharts from 'apexcharts/ssr'
const chartHTML = await ApexCharts.renderToHTML({
  chart: { type: 'bar' },
  series: [{ data: [30, 40, 35, 50] }],
  xaxis: { categories: ['Q1', 'Q2', 'Q3', 'Q4'] }
}, {
  width: 500,
  height: 300
})

On the client, import apexcharts/client and call ApexCharts.hydrate() for the matching container. This route is available to Next.js, Nuxt, SvelteKit, Astro, Remix, and other Node-based frameworks.

Accessibility and reduced motion

Accessibility is enabled by default. Add chart.accessibility.description to summarize the chart for screen-reader users. Keyboard navigation lets users move through data points with the arrow keys and activate a point with Enter or Space. Live announcements describe focus and selection changes.

chart: {
  accessibility: {
    enabled: true,
    description: 'Monthly revenue for 2026',
    announcements: {
      enabled: true
    },
    keyboard: {
      enabled: true,
      navigation: {
        enabled: true,
        wrapAround: false
      }
    }
  },
  animations: {
    respectReducedMotion: true
  }
}

Repeat critical values and conclusions in accessible text near the chart. Check color contrast, keyboard focus, formatter output, and the order in which a screen reader announces the series.

Alternatives & Related Resources:

FAQs:

Q: Why does a shared tooltip omit values from some datetime series?

Shared tooltips work best when every series has the same X values. If timestamps differ, set tooltip.shared to false or normalize the series onto matching timestamps before rendering.

Q: How can I stop ApexCharts from injecting a stylesheet?

Set chart.injectStyleSheet to false and load apexcharts/dist/apexcharts.css through the application’s build process. Sites with a Content Security Policy can also pass a nonce through chart.nonce.

Q: Why does dataPointSelection not fire on a line or area chart?

Line and area points need visible markers, an intersecting tooltip, and a non-shared tooltip for point selection. Set markers.size above zero, tooltip.intersect to true, and tooltip.shared to false.

Q: How should a single-page application remove an ApexCharts instance?

Call chart.destroy() when the component or view unmounts. The method removes the SVG and the event handlers attached to that chart instance.

Q: How can I localize toolbar labels and date names?

Add the locale object to chart.locales and set its name in chart.defaultLocale. A locale can define month names, day names, and the text used by download, selection, zoom, pan, reset, and export controls.

Changelog:

v6.9.0 (08/17/2026)

  • Added chart.type: ‘histogram’
  • Added rowSeries()
  • Added Nested treemaps
  • Added Drilldown: line and area, and async levels
  • Added A layout for the unit chart can now come from outside
  • Added Unit marks travel on a spring
  • Added A pie slice that moves instead of changing colour
  • Bugfixes

v6.8.0 (08/10/2026)

  • Added Per-data-point dataLabels offsets.
  • Bugfixes.

v6.7.1 (08/09/2026)

  • plotOptions.unit.scatter.orientation accepts ‘horizontal’ (the default) or ‘vertical’.
  • Bugfixes.

v6.7.0 (08/02/2026)

  • Added the sunburst chart type
  • Added rounded corners and spacing for pie and donut
  • Added a parliament layout for the unit chart
  • Added optional tooltips on point annotations
  • Bugfixes

v6.6.0 (07/27/2026)

  • Added the waffle chart type
  • Bugfixes

v6.5.0 (07/22/2026)

  • Improvements

v6.4.0 (07/21/2026)

  • Continuous numeric and datetime x-axis for heatmaps
  • Canvas cell rendering for large heatmaps
  • Bar chart race
  • The heatmap tooltip is anchored above the cell

v6.3.0 (07/20/2026)

  • A performance release focused on updates.

v6.1.0 (07/19/2026)

  • Added Measure ruler in the toolbar

v6.0.0 (07/17/2026)

  • Added a public plugin platform and custom series-type API.
  • Added an optional hybrid SVG and canvas renderer for dense datasets.
  • Added undo and redo history, shareable view-state tokens, linked crossfilter dashboards, and editable annotations.
  • Added measurement tools, point context menus, scrollytelling, real-time streaming, design tokens, and pluggable easing.
  • Enabled coherent variable-length data transitions and mobile pinch and pan gestures by default.

v5.16.0 (07/05/2026)

  • Added Drilldown navigation
  • Added Pie / donut external (outer) data labels with leader lines (opt-in)
  • Added Scatter jitter: strip plots and overplotting (opt-in)
  • Added Data reducer for range charts

v5.15.1/2 (06/20/2026)

  • Bugfixes

v5.15.0 (06/11/2026)

  • Added new Violin chart type

v5.14.0 (06/05/2026)

  • An opt-in continuous gradient legend for heatmaps that replaces the categorical legend with a color strip and a hover-tracking arrow.
  • chart.type: ‘pyramid’ now matches the geometry users expect: a single continuous triangle whose stages each own a vertical share proportional to their value, with no gaps between segments.
  • Added optional, tree-shakable transitions between chart types that remove destroy-and-recreate flicker.
  • Bugfixes.

v5.13.0 (05/22/2026)

  • feat(tooltip): modernized positioning, arrows, and a11y
  • feat(gauge): needle options and animation
  • feat(yaxis): alignZero
  • feat(toolbar): modernized

v5.12.0 (05/16/2026)

  • First-class funnel / pyramid / gauge types
  • Accessibility – WCAG 1.4.11 contrast compliance
  • Improvements

v5.11.0 (05/07/2026)

  • Bugfixes
  • WCAG 2.2 AA Accessibility Remediation
  • Improved Tooltip Hit Detection for Line / Area Charts

v5.10.6 (04/12/2026)

  • Bugfixes

v5.10.5 (04/07/2026)

  • Rename “name” field in renamed locale
  • Bugfixes

v5.10.4 (03/14/2026)

  • CSS variable colors – Pass ‘var(–my-color)’ directly as a chart color. Swap your entire palette at runtime with a single CSS attribute change.
  • New locales – Bulgarian (bg) and Romanian (ro) added. Serbian, Swedish, and Ukrainian locale files were also renamed to their correct ISO codes (sr, sv, uk).
  • Faster updates – updateOptions() and updateSeries() no longer rebuild internal modules from scratch on every call, reducing re-render overhead on dashboards with frequent data refreshes. Large datasets also benefit from automatic LTTB downsampling.

v5.10.3 (03/08/2026)

  • Bugfixes

v5.10.1 (03/04/2026)

  • Bugfixes

v5.10.0 (03/04/2026)

  • Every public chart type now has its own dedicated entry point matching the chart.type string you already use in config.
  • Better Error Message for Unregistered Chart Types

v5.9.0 (03/04/2026)

  • Color-Blind Accessibility Mode (theme.accessibility.colorBlindMode)

v5.8.0 (03/03/2026)

  • Bugfixes

v5.7.0 (03/02/2026)

  • Feature-level tree-shaking
  • Keyboard navigation
  • Server-side rendering (SSR)

v5.6.0 (02/18/2026)

  • Bugfixes

v5.5.0 (02/16/2026)

  • Server-Side Rendering (SSR) Support
  • Accessibility Support

v5.4.0 (02/14/2026)

  • Performance Improvements
  • Bugfixes

v5.3.6 (11/03/2025)

  • Add Galician (gl) locale
  • Fix bugs

v5.3.3 (08/11/2025)

  • Bugfixes

v5.3.0 (05/22/2025)

  • ApexCharts now supports direct parsing and mapping of raw data objects, eliminating the need for manual data transformation.
  • Pie/Donut/RadialBar series formats. These chart types now support XY series formats making it consistent with the rest of the chart types.

v4.7.0 (04/27/2025)

  • Cleaned up misplaced resolve() call in updateOptions()
  • Fixed bugs

v4.5.0 (02/19/2025)

  • Bugfixes

v4.4.0 (01/22/2025)

  • Added support for the Angular compiler.
  • Bugfixes
  • Make default stroke.lineCap as square in bar charts

v4.3.0 (12/19/2024)

  • Bugfixes

v4.2.0 (12/10/2024)

  • Addition of multi-series color candle Chart
  • Bugfixes

v4.1.0 (11/25/2024)

  • Allow pan and zoom on mobile devices
  • Bugfixes

v4.0.0 (10/29/2024)

  • Upgrade to Svgjs 3.2.
  • Apply config opacity to fill colors specified in RGB format
  • Fix createBorderRadiusArr
  • Update types to add missing arguments and return types

v3.54.1 (10/14/2024)

  • Bugfixes
  • improve border radius implementation in stacked bar charts
  • Bar and column true stroke and fill paths

v3.54.0 (09/29/2024)

  • Bugfixes

v3.53.0 (08/30/2024)

  • New Property ‘series.hidden’ to hide certain series on initial render A short guide on how to use it
  • New method ‘highlightSeries’: In a multi-series chart, call this method to reduce opacity of all other series and only highlight a particular one.
  • Enhancements: Mousewheel support for zooming; references
  • Bugfixes

v3.52.0 (08/05/2024)

  • bugfixes
  • Add null checks on gridRect to avoid safari error

v3.51.0 (07/21/2024)

  • replace margin with offsetX/Y in radialbar datalabels
  • Compute a yLowestValue and yHighestValue for each configured y-axis
  • Use offsetWidth to calculate legend dimensions.
  • bugfixes

v3.50.0 (07/06/2024)

  • fixed transparent background not appearing with dark mode
  • CSV Export categoryFormatter and valueFormatter (breaking change as CSV export dateFormatter is replaced by categoryFormatter)
  • Fixed test coverage report failing to generate on Windows
  • Replace deprecated rollup-plugin-terser with @rollup/plugin-terser
  • Updated actions/stale action

v3.49.2 (06/25/2024)

  • Remove declared but unused variables
  • Restore Y axis highlighting during legend series mouseover
  • Bugfixes

v3.49.1 (06/24/2024)

  • New chart type – Slope Chart
  • Bugfixes

v3.48.0 (03/20/2024)

  • Provide a “step before” version of the current “step after” line chart
  • Use ShadowRoot getElementById() when in ShadowDOM
  • Bug fixes

v3.47.0 (03/09/2024)

  • Bugfixes

v3.46.0 (02/17/2024)

  • Improve the y-axis scale tick generation
  • Added “+” and “x” markers
  • Add Belarusan cyrilic and latin locale
  • Bugfixes

v3.45.2 (01/21/2024)

  • Update pt.json
  • Add border-radius to treemap
  • Bug fixes

v3.45.1 (01/21/2024)

  • Bug fixes

v3.45.0 (12/15/2023)

  • New feature – yaxis.stepSize, which helps to define the intervals or increments between values on the axes values.
  • Bug fixes

v3.44.2 (12/05/2023)

  • Fix stacked line charts regression bug

v3.44.1 (12/05/2023)

  • feat: Allow stack bar only
  • bug fix: allow brush with rangeBars
  • added a demo for rangebar brush
  • Add malay locale
  • allow nonce values for style elements
  • Handle CSV export of the datetime multi-series with variable X-axes
  • Fix heatmap value attribute that caused issue in reversed y-axis heatmaps
  • Fix Incorrect GridLine
  • Fallback to straight line if the curve goes backwards in smooth line chart

v3.44.0 (10/17/2023)

  • improve sparkline paddings on top and bottom
  • improve line smoothing to avoid backward curve
  • bug Fixes

v3.43.0 (09/30/2023)

  • fix: hover and click on legend series
  • Bugfix: Double rendering of labels
  • Added type to colorStops in ApexFill
  • fix: detect positioning for leftmost values
  • Revert “fix: detect positioning for leftmost values”
  • Expose ‘isSeriesHidden’ to public methods
  • fix: detect positioning for leftmost values

v3.41.1 (07/31/2023)

  • remove style injection as attribute in bar charts (csp style-src fix)
  • Feat: trimmed treemap labels
  • Added type of string array to brush targets
  • Bugfixes

v3.41.0 (06/12/2023)

  • New chart type – FUNNEL CHARTS

v3.40.0 (05/01/2023)

  • Changed border-radius implementation

v3.37.0 (02/05/2023)

  • Changed border-radius implementation
  • improve annotations; allow annotation to be drawn by px
  • Bug Fixes

v3.36.0 (10/23/2022)

  • New chart-type: RANGE AREA CHART
  • Allow fill config to be passed with individual data-point in a XY series
  • Total data label in a stacked bar/column chart
  • Bug Fixes

v3.35.0 (04/01/2022)

  • Fixed a regression bug that caused x-axis labels to disappear when the type was DateTime.

v3.33.0 (01/11/2022)

  • Prevent tooltip overflow outside the chart area
  • Fix empty tooltip
  • Disable tooltip if all datasets are hidden
  • Bar and Heatmap tooltip improvements
  • Bug Fixes

v3.32.0 (01/11/2022)

  • Bug Fixes

v3.31.0 (11/28/2021)

  • NEW CHART TYPE – Horizontal Box Plots
  • Bug Fixes

v3.30.0 (11/14/2021)

  • Replace old DetectElementResize script with ResizeObserver
  • Inject ApexCharts CSS to the shadow root when used in a Shadow DOM context
  • Debounce tooltip mouse events to reduce overhead
  • Bug Fixes

v3.28.2 (09/16/2021)

  • Allow HTML in legend while also sanitizing inputs for XSS vulnerability
  • Added support for series-specific border-radius on a bar chart
  • Improve goals marker drawing options in bars/columns
  • Bug Fixes

v3.27.0 (06/06/2021)

  • New feature – bar/column with markers.
  • Add title element for Y-axis labels.
  • Sanitize input to prevent cross-site scripting.

v3.26.3 (05/18/2021)

  • New prop – xaxis.overwriteCategories which allows t overwrite all generated x-axis labels and replace with custom labels
  • Add scaling options while exporting to SVG/PNG

v3.26.2 (05/10/2021)

  • New prop – xaxis.decimalsInFloat
  • Bug Fixes

v3.26.1 (04/18/2021)

  • Add start and end dates in rangeBar tooltip options in a custom tooltip
  • Heatmap reverseNegativeShade issue
  • Add hungarian locale
  • New feature in TimeScale: added seconds scale
  • Bug Fixes

v3.26.0 (03/15/2021)

  • Add square for marker shape
  • Allow shared tooltip in a horizontal bar chart
  • New property – borderRadius in bar charts
  • Bug Fixes

v3.23.1 (12/28/2020)

  • Panning fixed in timeline charts
  • Mixed chart x-axis issue
  • A small correction in y-axis min-max
  • Preserve selection on resize in pie, donut
  • Floating y-axis in bar and timelines
  • TooltipHoverFormatter in pie charts

v3.23.0 (12/15/2020)

  • Zoom and Pan enabled in timeline charts
  • Bug Fixes

v3.22.3 (12/07/2020)

  • Customizable export filenames
  • Show x-axis gridlines even when x-axis labels are hidden
  • Fix undefined tooltip issue in a timeline chart
  • Remove resize handler properly on destroy
  • CSV bug export when category contains a comma
  • Fix multiline text in x-axis when using XY format in series
  • Add passive: true to event listeners
  • Fix auto height increase when the height is 100%
  • Fix log scale in radar chart
  • Remove code to hide data label when it is cropped
  • Add tooltip title formatter for horizontal chart
  • Bugfix when no data in treemap
  • Bug fix in min/max functions in y-axis
  • Fix Y-axis tickamount when formatter is applied

v3.22.1 (11/01/2020)

  • Add min/maxSecond to DateTime.getTimeUnitsfromTimestamp()
  • New property redrawOnWindowResize which allows you to control whether the chart should update when the window size changes. This is different from redrawOnParentResize which just checks for parent container resize events.
  • Re-add ESM build as requested by many users.
  • Bug Fixes

v3.22.0 (10/04/2020)

  • Add a flag to group rows together (rangeBarGroupRows) in a multi-series timeline chart
  • New event – beforeResetZoom
  • dateformatter option added in xaxis.labels.formatter to allow the user to format dates when using xaxis.labels.formatter
  • Bug Fixes

v3.21.0 (09/20/2020)

  • New chart type TREEMAP added
  • New event when scrolling on brush chart. chart.events.brushScrolled
  • Bug Fixes

v3.20.2 (09/11/2020)

  • Bugfixes

v3.20.1 (09/08/2020)

  • Bugfixes

v3.20.0 (01/31/2020)

  • Preserve order of series and data-labels
  • Allow user to select a color series wise for axis charts
  • Preserve y-axis min/max on update
  • Remove unnecessary condition in tooltip check
  • Bug Fixes

v3.19.3 (06/27/2020)

  • Configurable CSV options
  • In area charts, allow fill to extend to bottom for negative values
  • In the tooltip, remove default colon to allow customization
  • Draw lines as shape annotations
  • Radar chart size based on x-axis labels width
  • Bugs fixed

v3.19.2 (05/19/2020)

  • Fix for radial-bar’s custom angle which got affected due to pie.startAngle

v3.19.0 (04/24/2020)

  • New property – borderRadius in annotation label
  • Bugs fixed

v3.18.0 (04/05/2020)

  • A new method for zooming on x-axis – zoomX
  • New chart type – Polar Area Charts
  • New property in timeline charts – plotOptions.bar.rangeBarOverlap
  • Border Width in radar spokes
  • Bugs fixed

v3.17.1 (03/29/2020)

  • Sort the datetime/numeric x-axis before drawing
  • Annotation fill – allow 8 digit hex;
  • Allow rgba in fill.colors as well as allow 8 digit hex with alpha
  • Bugs fixed

v3.17.0 (03/19/2020)

  • Bar chart new property – startingShape
  • New property – yaxis.showForNullSeries
  • New property – plotOptions.heatmap.useFillColorAsStroke
  • Bugfixed

v3.16.1 (03/06/2020)

  • Removed public methods – addText(), addImage() and addRect(). These things are moved to annotations config
  • New Annotation types added annotations.texts, annotations.images and annotations.shapes.
  • mproved top positioned x-axis placement
  • Font-weight for xaxis labels
  • Radar chart toggle series improvement
  • New property – dataLabels.distributed: true | false
  • Bugfix

v3.16.0 (02/27/2020)

  • Enhancements and Bugfixes

v3.15.6 (02/14/2020)

  • Added font-weight properties to labels and titles
  • Multiseries CSV export improvement
  • autoScaleYaxis in a brush chart disabled for multi-series
  • Reset zoom on reset series

v3.15.4 (02/04/2020)

  • New method – addImage() to allow inserting an image after the chart is rendered.
  • In point annotations, replace customSVG with an image for easier image annotations.
  • Bugfixes.

v3.15.3 (01/25/2020)

  • Enhancements and bugfixes

v3.15.0 (01/14/2020)

  • Category zoom fixes
  • Fixed updateOptions() function on 100% stacked fixed
  • Legend margin fix
  • Multiline axis label offset in bar charts

v3.14.0 (01/12/2020)

  • A major bug fix that fixed the overwriting option in multiple charts on the same page.

v3.13.1 (01/10/2020)

  • Fixed pie/donut labels

v3.12.0 (01/02/2020)

  • Unused SVG.js code removed to bring down bundle size. Minified 449kB reduced to 425kB.
  • Removed IE11 polyfills and added lists of polyfills to add for IE11 support.
  • In radar chart, renamed the outer data labels as xaxis labels.
  • Data labels improved styling. Now, the data-labels can be given a background color to pop out clearly.

v3.11.3 (12/31/2019)

  • Add Export to CSV option
  • Add a new property borderWidth for Annotations stroke width
  • Bugs fixed

v3.11.0 (12/15/2019)

  • Enabling multiple time ranges on timeline bar charts

v3.10.0 (10/14/2019)

  • Fixed a major bug which caused the data to display reversed.

v3.9.0 (10/13/2019)

  • Allow different data-labels colors when bar.distributed is true
  • Custom data-labels formatter in bubble charts
  • Donut Chart – New property plotOptions.pie.donut.labels.total.showAlways which allows determining whether the total label should be shown always and not change if a user hovers over the donut slices.
  • Allow markers to have different stroke-width for each series
  • Extract JS-generated styles to external CSS (fix CSP issues)
  • Horizontal Bar chart’s y-axis now has additional parameters to show more information in y-axis labels.
  • Add Ukrainian locale
  • Add Italian locale
  • Bugs fixed

v3.8.5 (08/27/2019)

  • Improve toggleDataPointSelection method for pie/donut charts
  • Bugs fixed

v3.8.4 (08/05/2019)

  • Build modified to minify AMD, es, commonjs files
  • Visually separate the datetime labels to identify years from months and months from days
  • Add chart context in toolbar icon function params
  • Bug fixes
  • Added Turkish language file

v3.8.3 (07/24/2019)

  • Bug fixes

v3.8.2 (07/08/2019)

  • Add marker events click and dblclick
  • Add toggleDataPointSelection method to exec
  • Enable discrete markers for radar charts
  • Bug fixes

v3.8.1 (07/08/2019)

  • Add a new param updateSyncCharts in updateOptions method to control whether the update method should also update the sibling charts which are in the group.
  • Add a decimal point to small values to prevent duplicate yaxis labels
  • Bug fixes

v3.8.0 (06/09/2019)

  • A new method called resetSeries()added which resets the chart to its original data.
  • Recalculate height for pie, donut and radial-bar charts to prevent extra spacing
  • Bug fixes
  • The pie/donut/radialBar charts will have their heights recalculated to prevent additional spacings at the bottom. This might need adjustments in your existing pie charts if you have not specified a fixed height.

v3.7.1 (06/09/2019)

  • New method – toggleDataPointSelection to select/deselect a particular data point.
  • Allow custom data-label text for null values.
  • Allow timestamps in labels and categories when using datetime xaxis
  • Bug fixes
  • Add Korean locales

v3.7.0 (05/28/2019)

  • New property – chart.zoom.autoScaleYaxis when zoomed which changes the y-axis based on the zoom selection
  • Range annotations in category charts
  • Bug fixes

v3.6.12 (05/20/2019)

  • Heatmap new property – reverseNegativeShade
  • Allow hiding tooltip for specific series. New property tooltip.enabledOnSeries added
  • Bug fixes

You Might Be Interested In:


Leave a Reply