Scaling
Scaling adjusts the visible chart range along the X and Y axes.
User interactions
You can scale the chart in several ways:
- Drag the axis: Click and drag the X or Y axis.

- Scroll to zoom: Use the mouse scroll wheel.

- Scale both axes: Enable
lockPriceToBarRatio
to zoom X and Y simultaneously.

Panning
Panning shifts the chart horizontally or vertically.
Press and hold the left mouse button, then drag the chart:

Scale History
chart
's ScaleModel
has a public history
property, which is used to store history of applied scales.
This store is stack
-like data structure and the elements are ScaleHistoryItem
's.
export interface ScaleHistoryItem {xStart: Unit;xEnd: Unit;yStart: Unit;yEnd: Unit;}
Use the following methods from ScaleModel
to access and manipulate scale history:
export class ScaleModel {// removes from the stack the last ScaleHistoryItempublic popFromHistory(): ScaleHistoryItem | undefined {return;}// pushes to the stack new ScaleHistoryItempublic pushToHistory(item: ScaleHistoryItem): void {}// removes all the elements from the historypublic clearHistory(): void {}}
Example
export function scaleHistoryExample(scale: ScaleModel) {const historyItem = scale.popFromHistory();if (historyItem) {scale.pushToHistory(historyItem);scale.clearHistory();}}
Configuration options
Disable auto-scale on drag
To disable auto-scaling during long vertical drags using the AutoScaleDisableOnDrag
interface:
export interface AutoScaleDisableOnDrag {enabled: boolean;/*** The angle of mouse movement. Default - Math.PI / 9.*/edgeAngle: number;/*** Distance that mouse should travel vertically in px. Default - 80.*/yDiff: number;}
Behavior
The ChartAreaPanHandler
disables auto-scaling if all of the following conditions are true:
AutoScaleDisableOnDrag.enabled === true
AutoScaleDisableOnDrag.edgeAngle > α
AutoScaleDisableOnDrag.yDiff > AB length

Candles viewport
You can control how many candles are displayed using the viewportStrategy
option in ChartConfig
.
Available strategies:
timeframe
: Preserve the selected timeframecandles
: Maintain a fixed number of candlesbasic
: Use default scaling behavior