


However, this method requires the container to be relatively positioned and dedicated to the chart canvas only. Chart.js uses its parent container to update the canvas render and display sizes. This can ease the resize process by debouncing the update of the elements.ĭetecting when the canvas size changes can not be done directly from the canvas element. Gets passed two arguments: the chart instance and the new size.ĭelay the resize update by the given amount of milliseconds. The default value varies by chart type Radial charts (doughnut, pie, polarArea, radar) default to 1 and others default to 2.Ĭalled when a resize occurs. Note that this option is ignored if the height is explicitly defined either as attribute or via the style. width / height, a value of 1 representing a square canvas). Maintain the original canvas aspect ratio (width / height) when resizing.Ĭanvas aspect ratio (i.e. Resizes the chart canvas when its container does ( important note.).


Chart.js needs a dedicated container for each canvas and this styling should be applied there.Ĭhart.js provides a few options to enable responsiveness and control the resize behavior of charts by detecting when the canvas display size changes and update the render size accordingly. : invalid behavior, the canvas continually shrinks.: invalid behavior, the canvas is resized but becomes blurry ( example (opens new window)).: invalid values, the canvas doesn't resize ( example (opens new window)).Furthermore, these sizes are independent from each other and thus the canvas render size does not adjust automatically based on the display size, making the rendering inaccurate. Here are the methods to accomplishing this: Note that in most browsers, resizing a window to below 100 by 100 in pixels require permission using signed script (for security reasons). height) can not be expressed with relative values, contrary to the display size ( and. The new resizeBy () and resizeBy () methods of JavaScript1.2 allow you to programmatically resize the window. When it comes to changing the chart size based on the window size, a major limitation is that the canvas render size ( canvas.width and. querySelector ( 'input' ) const checkbox = document. querySelector ( "body > div" ) const slider = document. querySelector ( "p" ) const divElem = document. querySelector ( "h1" ) const pElem = document.
