Synchronize multiple charts to align data insights and interactive elements, offering a unified analysis experience.
Synchronization Copy Link
import {
AgChartOptions,
AgCharts,
AnimationModule,
ContextMenuModule,
CrosshairModule,
LegendModule,
LineSeriesModule,
ModuleRegistry,
NavigatorModule,
NumberAxisModule,
SyncModule,
TimeAxisModule,
UnitTimeAxisModule,
ZoomModule,
} from "ag-charts-enterprise";
import { AAPL, MSFT } from "./data";
const commonOptions: AgChartOptions = {
minWidth: 0,
minHeight: 0,
series: [
{
type: "line",
xKey: "date",
yKey: "value",
},
],
sync: {
enabled: true,
axes: "x",
nodeInteraction: true,
},
zoom: {
enabled: true,
enableSelecting: true,
},
axes: {
x: {
type: "unit-time",
interval: {
maxSpacing: 180,
},
crosshair: {
label: {
format: "%d %b %Y",
},
},
},
y: {
type: "number",
label: {
format: "$~s",
},
},
},
};
ModuleRegistry.registerModules([
AnimationModule,
CrosshairModule,
LegendModule,
LineSeriesModule,
NavigatorModule,
NumberAxisModule,
SyncModule,
TimeAxisModule,
UnitTimeAxisModule,
ZoomModule,
ContextMenuModule,
]);
const chartOptions1 = {
...commonOptions,
data: AAPL,
title: {
text: "Apple (AAPL)",
textAlign: "left",
},
};
chartOptions1.container = document.getElementById("myChart1");
const chartOptions2 = {
...commonOptions,
data: MSFT,
title: {
text: "Microsoft (MSFT)",
textAlign: "left",
},
navigator: {
enabled: true,
},
initialState: {
zoom: {
ratioX: { start: 0.8, end: 1 },
},
},
};
chartOptions2.container = document.getElementById("myChart2");
AgCharts.create(chartOptions1);
AgCharts.create(chartOptions2);
.example-wrapper {
display: grid;
grid-template-rows: 1fr 1fr;
gap: 8px;
height: 100%;
}
export const AAPL = [
{ date: new Date("02/13/2023"), value: 153.85 },
{ date: new Date("02/14/2023"), value: 153.2 },
{ date: new Date("02/15/2023"), value: 155.33 },
{ date: new Date("02/16/2023"), value: 153.71 },
{ date: new Date("02/17/2023"), value: 152.55 },
{ date: new Date("02/21/2023"), value: 148.48 },
{ date: new Date("02/22/2023"), value: 148.91 },
{ date: new Date("02/23/2023"), value: 149.4 },
{ date: new Date("02/24/2023"), value: 146.71 },
{ date: new Date("02/27/2023"), value: 147.92 },
{ date: new Date("02/28/2023"), value: 147.41 },
{ date: new Date("03/01/2023"), value: 145.31 },
{ date: new Date("03/02/2023"), value: 145.91 },
{ date: new Date("03/03/2023"), value: 151.03 },
{ date: new Date("03/06/2023"), value: 153.83 },
{ date: new Date("03/07/2023"), value: 151.6 },
{ date: new Date("03/08/2023"), value: 152.87 },
{ date: new Date("03/09/2023"), value: 150.59 },
{ date: new Date("03/10/2023"), value: 148.5 },
{ date: new Date("03/13/2023"), value: 150.47 },
{ date: new Date("03/14/2023"), value: 152.59 },
{ date: new Date("03/15/2023"), value: 152.99 },
{ date: new Date("03/16/2023"), value: 155.85 },
{ date: new Date("03/17/2023"), value: 155.0 },
{ date: new Date("03/20/2023"), value: 157.4 },
{ date: new Date("03/21/2023"), value: 159.28 },
{ date: new Date("03/22/2023"), value: 157.83 },
{ date: new Date("03/23/2023"), value: 158.93 },
{ date: new Date("03/24/2023"), value: 160.25 },
{ date: new Date("03/27/2023"), value: 158.28 },
{ date: new Date("03/28/2023"), value: 157.65 },
{ date: new Date("03/29/2023"), value: 160.77 },
{ date: new Date("03/30/2023"), value: 162.36 },
{ date: new Date("03/31/2023"), value: 164.9 },
{ date: new Date("04/03/2023"), value: 166.17 },
{ date: new Date("04/04/2023"), value: 165.63 },
{ date: new Date("04/05/2023"), value: 163.76 },
{ date: new Date("04/06/2023"), value: 164.66 },
{ date: new Date("04/10/2023"), value: 162.03 },
{ date: new Date("04/11/2023"), value: 160.8 },
{ date: new Date("04/12/2023"), value: 160.1 },
{ date: new Date("04/13/2023"), value: 165.56 },
{ date: new Date("04/14/2023"), value: 165.21 },
{ date: new Date("04/17/2023"), value: 165.23 },
{ date: new Date("04/18/2023"), value: 166.47 },
{ date: new Date("04/19/2023"), value: 167.63 },
{ date: new Date("04/20/2023"), value: 166.65 },
{ date: new Date("04/21/2023"), value: 165.02 },
{ date: new Date("04/24/2023"), value: 165.33 },
{ date: new Date("04/25/2023"), value: 163.77 },
{ date: new Date("04/26/2023"), value: 163.76 },
{ date: new Date("04/27/2023"), value: 168.41 },
{ date: new Date("04/28/2023"), value: 169.68 },
{ date: new Date("05/01/2023"), value: 169.59 },
{ date: new Date("05/02/2023"), value: 168.54 },
{ date: new Date("05/03/2023"), value: 167.45 },
{ date: new Date("05/04/2023"), value: 165.79 },
{ date: new Date("05/05/2023"), value: 173.57 },
{ date: new Date("05/08/2023"), value: 173.5 },
{ date: new Date("05/09/2023"), value: 171.77 },
{ date: new Date("05/10/2023"), value: 173.555 },
{ date: new Date("05/11/2023"), value: 173.75 },
{ date: new Date("05/12/2023"), value: 172.57 },
{ date: new Date("05/15/2023"), value: 172.07 },
{ date: new Date("05/16/2023"), value: 172.07 },
{ date: new Date("05/17/2023"), value: 172.69 },
{ date: new Date("05/18/2023"), value: 175.05 },
{ date: new Date("05/19/2023"), value: 175.16 },
{ date: new Date("05/22/2023"), value: 174.2 },
{ date: new Date("05/23/2023"), value: 171.56 },
{ date: new Date("05/24/2023"), value: 171.84 },
{ date: new Date("05/25/2023"), value: 172.99 },
{ date: new Date("05/26/2023"), value: 175.43 },
{ date: new Date("05/30/2023"), value: 177.3 },
{ date: new Date("05/31/2023"), value: 177.25 },
{ date: new Date("06/01/2023"), value: 180.09 },
{ date: new Date("06/02/2023"), value: 180.95 },
{ date: new Date("06/05/2023"), value: 179.58 },
{ date: new Date("06/06/2023"), value: 179.21 },
{ date: new Date("06/07/2023"), value: 177.82 },
{ date: new Date("06/08/2023"), value: 180.57 },
{ date: new Date("06/09/2023"), value: 180.96 },
{ date: new Date("06/12/2023"), value: 183.79 },
{ date: new Date("06/13/2023"), value: 183.31 },
{ date: new Date("06/14/2023"), value: 183.95 },
{ date: new Date("06/15/2023"), value: 186.01 },
{ date: new Date("06/16/2023"), value: 184.92 },
{ date: new Date("06/20/2023"), value: 185.01 },
{ date: new Date("06/21/2023"), value: 183.96 },
{ date: new Date("06/22/2023"), value: 187.0 },
{ date: new Date("06/23/2023"), value: 186.68 },
{ date: new Date("06/26/2023"), value: 185.27 },
{ date: new Date("06/27/2023"), value: 188.06 },
{ date: new Date("06/28/2023"), value: 189.25 },
{ date: new Date("06/29/2023"), value: 189.59 },
{ date: new Date("06/30/2023"), value: 193.97 },
{ date: new Date("07/03/2023"), value: 192.46 },
{ date: new Date("07/05/2023"), value: 191.33 },
{ date: new Date("07/06/2023"), value: 191.81 },
{ date: new Date("07/07/2023"), value: 190.68 },
{ date: new Date("07/10/2023"), value: 188.61 },
{ date: new Date("07/11/2023"), value: 188.08 },
{ date: new Date("07/12/2023"), value: 189.77 },
{ date: new Date("07/13/2023"), value: 190.54 },
{ date: new Date("07/14/2023"), value: 190.69 },
{ date: new Date("07/17/2023"), value: 193.99 },
{ date: new Date("07/18/2023"), value: 193.73 },
{ date: new Date("07/19/2023"), value: 195.1 },
{ date: new Date("07/20/2023"), value: 193.13 },
{ date: new Date("07/21/2023"), value: 191.94 },
{ date: new Date("07/24/2023"), value: 192.75 },
{ date: new Date("07/25/2023"), value: 193.62 },
{ date: new Date("07/26/2023"), value: 194.5 },
{ date: new Date("07/27/2023"), value: 193.22 },
{ date: new Date("07/28/2023"), value: 195.83 },
{ date: new Date("07/31/2023"), value: 196.45 },
{ date: new Date("08/01/2023"), value: 195.605 },
{ date: new Date("08/02/2023"), value: 192.58 },
{ date: new Date("08/03/2023"), value: 191.17 },
{ date: new Date("08/04/2023"), value: 181.99 },
{ date: new Date("08/07/2023"), value: 178.85 },
{ date: new Date("08/08/2023"), value: 179.8 },
{ date: new Date("08/09/2023"), value: 178.19 },
{ date: new Date("08/10/2023"), value: 177.97 },
{ date: new Date("08/11/2023"), value: 177.79 },
{ date: new Date("08/14/2023"), value: 179.46 },
{ date: new Date("08/15/2023"), value: 177.45 },
{ date: new Date("08/16/2023"), value: 176.57 },
{ date: new Date("08/17/2023"), value: 174.0 },
{ date: new Date("08/18/2023"), value: 174.49 },
{ date: new Date("08/21/2023"), value: 175.84 },
{ date: new Date("08/22/2023"), value: 177.23 },
{ date: new Date("08/23/2023"), value: 181.12 },
{ date: new Date("08/24/2023"), value: 176.38 },
{ date: new Date("08/25/2023"), value: 178.61 },
{ date: new Date("08/28/2023"), value: 180.19 },
{ date: new Date("08/29/2023"), value: 184.12 },
{ date: new Date("08/30/2023"), value: 187.65 },
{ date: new Date("08/31/2023"), value: 187.87 },
{ date: new Date("09/01/2023"), value: 189.46 },
{ date: new Date("09/05/2023"), value: 189.7 },
{ date: new Date("09/06/2023"), value: 182.91 },
{ date: new Date("09/07/2023"), value: 177.56 },
{ date: new Date("09/08/2023"), value: 178.18 },
{ date: new Date("09/11/2023"), value: 179.36 },
{ date: new Date("09/12/2023"), value: 176.3 },
{ date: new Date("09/13/2023"), value: 174.21 },
{ date: new Date("09/14/2023"), value: 175.74 },
{ date: new Date("09/15/2023"), value: 175.01 },
{ date: new Date("09/18/2023"), value: 177.97 },
{ date: new Date("09/19/2023"), value: 179.07 },
{ date: new Date("09/20/2023"), value: 175.49 },
{ date: new Date("09/21/2023"), value: 173.93 },
{ date: new Date("09/22/2023"), value: 174.79 },
{ date: new Date("09/25/2023"), value: 176.08 },
{ date: new Date("09/26/2023"), value: 171.96 },
{ date: new Date("09/27/2023"), value: 170.43 },
{ date: new Date("09/28/2023"), value: 170.69 },
{ date: new Date("09/29/2023"), value: 171.21 },
{ date: new Date("10/02/2023"), value: 173.75 },
{ date: new Date("10/03/2023"), value: 172.4 },
{ date: new Date("10/04/2023"), value: 173.66 },
{ date: new Date("10/05/2023"), value: 174.91 },
{ date: new Date("10/06/2023"), value: 177.49 },
{ date: new Date("10/09/2023"), value: 178.99 },
{ date: new Date("10/10/2023"), value: 178.39 },
{ date: new Date("10/11/2023"), value: 179.8 },
{ date: new Date("10/12/2023"), value: 180.71 },
{ date: new Date("10/13/2023"), value: 178.85 },
{ date: new Date("10/16/2023"), value: 178.72 },
{ date: new Date("10/17/2023"), value: 177.15 },
{ date: new Date("10/18/2023"), value: 175.84 },
{ date: new Date("10/19/2023"), value: 175.46 },
{ date: new Date("10/20/2023"), value: 172.88 },
{ date: new Date("10/23/2023"), value: 173.0 },
{ date: new Date("10/24/2023"), value: 173.44 },
{ date: new Date("10/25/2023"), value: 171.1 },
{ date: new Date("10/26/2023"), value: 166.89 },
{ date: new Date("10/27/2023"), value: 168.22 },
{ date: new Date("10/30/2023"), value: 170.29 },
{ date: new Date("10/31/2023"), value: 170.77 },
{ date: new Date("11/01/2023"), value: 173.97 },
{ date: new Date("11/02/2023"), value: 177.57 },
{ date: new Date("11/03/2023"), value: 176.65 },
{ date: new Date("11/06/2023"), value: 179.23 },
{ date: new Date("11/07/2023"), value: 181.82 },
{ date: new Date("11/08/2023"), value: 182.89 },
{ date: new Date("11/09/2023"), value: 182.41 },
{ date: new Date("11/10/2023"), value: 186.4 },
{ date: new Date("11/13/2023"), value: 184.8 },
{ date: new Date("11/14/2023"), value: 187.44 },
{ date: new Date("11/15/2023"), value: 188.01 },
{ date: new Date("11/16/2023"), value: 189.71 },
{ date: new Date("11/17/2023"), value: 189.69 },
{ date: new Date("11/20/2023"), value: 191.45 },
{ date: new Date("11/21/2023"), value: 190.64 },
{ date: new Date("11/22/2023"), value: 191.31 },
{ date: new Date("11/24/2023"), value: 189.97 },
{ date: new Date("11/27/2023"), value: 189.79 },
{ date: new Date("11/28/2023"), value: 190.4 },
{ date: new Date("11/29/2023"), value: 189.37 },
{ date: new Date("11/30/2023"), value: 189.95 },
{ date: new Date("12/01/2023"), value: 191.24 },
{ date: new Date("12/04/2023"), value: 189.43 },
{ date: new Date("12/05/2023"), value: 193.42 },
{ date: new Date("12/06/2023"), value: 192.32 },
{ date: new Date("12/07/2023"), value: 194.27 },
{ date: new Date("12/08/2023"), value: 195.71 },
{ date: new Date("12/11/2023"), value: 193.18 },
{ date: new Date("12/12/2023"), value: 194.71 },
{ date: new Date("12/13/2023"), value: 197.96 },
{ date: new Date("12/14/2023"), value: 198.11 },
{ date: new Date("12/15/2023"), value: 197.57 },
{ date: new Date("12/18/2023"), value: 195.89 },
{ date: new Date("12/19/2023"), value: 196.94 },
{ date: new Date("12/20/2023"), value: 194.83 },
{ date: new Date("12/21/2023"), value: 194.68 },
{ date: new Date("12/22/2023"), value: 193.6 },
{ date: new Date("12/26/2023"), value: 193.05 },
{ date: new Date("12/27/2023"), value: 193.15 },
{ date: new Date("12/28/2023"), value: 193.58 },
{ date: new Date("12/29/2023"), value: 192.53 },
{ date: new Date("01/02/2024"), value: 185.64 },
{ date: new Date("01/03/2024"), value: 184.25 },
{ date: new Date("01/04/2024"), value: 181.91 },
{ date: new Date("01/05/2024"), value: 181.18 },
{ date: new Date("01/08/2024"), value: 185.56 },
{ date: new Date("01/09/2024"), value: 185.14 },
{ date: new Date("01/10/2024"), value: 186.19 },
{ date: new Date("01/11/2024"), value: 185.59 },
{ date: new Date("01/12/2024"), value: 185.92 },
{ date: new Date("01/16/2024"), value: 183.63 },
{ date: new Date("01/17/2024"), value: 182.68 },
{ date: new Date("01/18/2024"), value: 188.63 },
{ date: new Date("01/19/2024"), value: 191.56 },
{ date: new Date("01/22/2024"), value: 193.89 },
{ date: new Date("01/23/2024"), value: 195.18 },
{ date: new Date("01/24/2024"), value: 194.5 },
{ date: new Date("01/25/2024"), value: 194.17 },
{ date: new Date("01/26/2024"), value: 192.42 },
{ date: new Date("01/29/2024"), value: 191.73 },
{ date: new Date("01/30/2024"), value: 188.04 },
{ date: new Date("01/31/2024"), value: 184.4 },
{ date: new Date("02/01/2024"), value: 186.86 },
{ date: new Date("02/02/2024"), value: 185.85 },
{ date: new Date("02/05/2024"), value: 187.68 },
{ date: new Date("02/06/2024"), value: 189.3 },
{ date: new Date("02/07/2024"), value: 189.41 },
{ date: new Date("02/08/2024"), value: 188.32 },
{ date: new Date("02/09/2024"), value: 188.85 },
];
export const MSFT = [
{ date: new Date("02/13/2023"), value: 271.32 },
{ date: new Date("02/14/2023"), value: 272.17 },
{ date: new Date("02/15/2023"), value: 269.32 },
{ date: new Date("02/16/2023"), value: 262.15 },
{ date: new Date("02/17/2023"), value: 258.06 },
{ date: new Date("02/21/2023"), value: 252.67 },
{ date: new Date("02/22/2023"), value: 251.51 },
{ date: new Date("02/23/2023"), value: 254.77 },
{ date: new Date("02/24/2023"), value: 249.22 },
{ date: new Date("02/27/2023"), value: 250.16 },
{ date: new Date("02/28/2023"), value: 249.42 },
{ date: new Date("03/01/2023"), value: 246.27 },
{ date: new Date("03/02/2023"), value: 251.11 },
{ date: new Date("03/03/2023"), value: 255.29 },
{ date: new Date("03/06/2023"), value: 256.87 },
{ date: new Date("03/07/2023"), value: 254.15 },
{ date: new Date("03/08/2023"), value: 253.7 },
{ date: new Date("03/09/2023"), value: 252.32 },
{ date: new Date("03/10/2023"), value: 248.59 },
{ date: new Date("03/13/2023"), value: 253.92 },
{ date: new Date("03/14/2023"), value: 260.79 },
{ date: new Date("03/15/2023"), value: 265.44 },
{ date: new Date("03/16/2023"), value: 276.2 },
{ date: new Date("03/17/2023"), value: 279.43 },
{ date: new Date("03/20/2023"), value: 272.23 },
{ date: new Date("03/21/2023"), value: 273.78 },
{ date: new Date("03/22/2023"), value: 272.29 },
{ date: new Date("03/23/2023"), value: 277.66 },
{ date: new Date("03/24/2023"), value: 280.57 },
{ date: new Date("03/27/2023"), value: 276.38 },
{ date: new Date("03/28/2023"), value: 275.23 },
{ date: new Date("03/29/2023"), value: 280.51 },
{ date: new Date("03/30/2023"), value: 284.05 },
{ date: new Date("03/31/2023"), value: 288.3 },
{ date: new Date("04/03/2023"), value: 287.23 },
{ date: new Date("04/04/2023"), value: 287.18 },
{ date: new Date("04/05/2023"), value: 284.34 },
{ date: new Date("04/06/2023"), value: 291.6 },
{ date: new Date("04/10/2023"), value: 289.39 },
{ date: new Date("04/11/2023"), value: 282.83 },
{ date: new Date("04/12/2023"), value: 283.49 },
{ date: new Date("04/13/2023"), value: 289.84 },
{ date: new Date("04/14/2023"), value: 286.14 },
{ date: new Date("04/17/2023"), value: 288.8 },
{ date: new Date("04/18/2023"), value: 288.37 },
{ date: new Date("04/19/2023"), value: 288.45 },
{ date: new Date("04/20/2023"), value: 286.11 },
{ date: new Date("04/21/2023"), value: 285.76 },
{ date: new Date("04/24/2023"), value: 281.77 },
{ date: new Date("04/25/2023"), value: 275.42 },
{ date: new Date("04/26/2023"), value: 295.37 },
{ date: new Date("04/27/2023"), value: 304.83 },
{ date: new Date("04/28/2023"), value: 307.26 },
{ date: new Date("05/01/2023"), value: 305.56 },
{ date: new Date("05/02/2023"), value: 305.41 },
{ date: new Date("05/03/2023"), value: 304.4 },
{ date: new Date("05/04/2023"), value: 305.41 },
{ date: new Date("05/05/2023"), value: 310.65 },
{ date: new Date("05/08/2023"), value: 308.65 },
{ date: new Date("05/09/2023"), value: 307.0 },
{ date: new Date("05/10/2023"), value: 312.31 },
{ date: new Date("05/11/2023"), value: 310.11 },
{ date: new Date("05/12/2023"), value: 308.97 },
{ date: new Date("05/15/2023"), value: 309.46 },
{ date: new Date("05/16/2023"), value: 311.74 },
{ date: new Date("05/17/2023"), value: 314.0 },
{ date: new Date("05/18/2023"), value: 318.52 },
{ date: new Date("05/19/2023"), value: 318.34 },
{ date: new Date("05/22/2023"), value: 321.18 },
{ date: new Date("05/23/2023"), value: 315.26 },
{ date: new Date("05/24/2023"), value: 313.85 },
{ date: new Date("05/25/2023"), value: 325.92 },
{ date: new Date("05/26/2023"), value: 332.89 },
{ date: new Date("05/30/2023"), value: 331.21 },
{ date: new Date("05/31/2023"), value: 328.39 },
{ date: new Date("06/01/2023"), value: 332.58 },
{ date: new Date("06/02/2023"), value: 335.4 },
{ date: new Date("06/05/2023"), value: 335.94 },
{ date: new Date("06/06/2023"), value: 333.68 },
{ date: new Date("06/07/2023"), value: 323.38 },
{ date: new Date("06/08/2023"), value: 325.26 },
{ date: new Date("06/09/2023"), value: 326.79 },
{ date: new Date("06/12/2023"), value: 331.85 },
{ date: new Date("06/13/2023"), value: 334.29 },
{ date: new Date("06/14/2023"), value: 337.34 },
{ date: new Date("06/15/2023"), value: 348.1 },
{ date: new Date("06/16/2023"), value: 342.33 },
{ date: new Date("06/20/2023"), value: 338.05 },
{ date: new Date("06/21/2023"), value: 333.56 },
{ date: new Date("06/22/2023"), value: 339.71 },
{ date: new Date("06/23/2023"), value: 335.02 },
{ date: new Date("06/26/2023"), value: 328.6 },
{ date: new Date("06/27/2023"), value: 334.57 },
{ date: new Date("06/28/2023"), value: 335.85 },
{ date: new Date("06/29/2023"), value: 335.05 },
{ date: new Date("06/30/2023"), value: 340.54 },
{ date: new Date("07/03/2023"), value: 337.99 },
{ date: new Date("07/05/2023"), value: 338.15 },
{ date: new Date("07/06/2023"), value: 341.27 },
{ date: new Date("07/07/2023"), value: 337.22 },
{ date: new Date("07/10/2023"), value: 331.83 },
{ date: new Date("07/11/2023"), value: 332.47 },
{ date: new Date("07/12/2023"), value: 337.2 },
{ date: new Date("07/13/2023"), value: 342.66 },
{ date: new Date("07/14/2023"), value: 345.24 },
{ date: new Date("07/17/2023"), value: 345.73 },
{ date: new Date("07/18/2023"), value: 359.49 },
{ date: new Date("07/19/2023"), value: 355.08 },
{ date: new Date("07/20/2023"), value: 346.87 },
{ date: new Date("07/21/2023"), value: 343.77 },
{ date: new Date("07/24/2023"), value: 345.11 },
{ date: new Date("07/25/2023"), value: 350.98 },
{ date: new Date("07/26/2023"), value: 337.77 },
{ date: new Date("07/27/2023"), value: 330.72 },
{ date: new Date("07/28/2023"), value: 338.37 },
{ date: new Date("07/31/2023"), value: 335.92 },
{ date: new Date("08/01/2023"), value: 336.34 },
{ date: new Date("08/02/2023"), value: 327.5 },
{ date: new Date("08/03/2023"), value: 326.66 },
{ date: new Date("08/04/2023"), value: 327.78 },
{ date: new Date("08/07/2023"), value: 330.11 },
{ date: new Date("08/08/2023"), value: 326.05 },
{ date: new Date("08/09/2023"), value: 322.23 },
{ date: new Date("08/10/2023"), value: 322.93 },
{ date: new Date("08/11/2023"), value: 321.01 },
{ date: new Date("08/14/2023"), value: 324.04 },
{ date: new Date("08/15/2023"), value: 321.86 },
{ date: new Date("08/16/2023"), value: 320.4 },
{ date: new Date("08/17/2023"), value: 316.88 },
{ date: new Date("08/18/2023"), value: 316.48 },
{ date: new Date("08/21/2023"), value: 321.88 },
{ date: new Date("08/22/2023"), value: 322.46 },
{ date: new Date("08/23/2023"), value: 327.0 },
{ date: new Date("08/24/2023"), value: 319.97 },
{ date: new Date("08/25/2023"), value: 322.98 },
{ date: new Date("08/28/2023"), value: 323.7 },
{ date: new Date("08/29/2023"), value: 328.41 },
{ date: new Date("08/30/2023"), value: 328.79 },
{ date: new Date("08/31/2023"), value: 327.76 },
{ date: new Date("09/01/2023"), value: 328.66 },
{ date: new Date("09/05/2023"), value: 333.55 },
{ date: new Date("09/06/2023"), value: 332.88 },
{ date: new Date("09/07/2023"), value: 329.91 },
{ date: new Date("09/08/2023"), value: 334.27 },
{ date: new Date("09/11/2023"), value: 337.94 },
{ date: new Date("09/12/2023"), value: 331.77 },
{ date: new Date("09/13/2023"), value: 336.06 },
{ date: new Date("09/14/2023"), value: 338.7 },
{ date: new Date("09/15/2023"), value: 330.22 },
{ date: new Date("09/18/2023"), value: 329.06 },
{ date: new Date("09/19/2023"), value: 328.65 },
{ date: new Date("09/20/2023"), value: 320.77 },
{ date: new Date("09/21/2023"), value: 319.53 },
{ date: new Date("09/22/2023"), value: 317.01 },
{ date: new Date("09/25/2023"), value: 317.54 },
{ date: new Date("09/26/2023"), value: 312.14 },
{ date: new Date("09/27/2023"), value: 312.79 },
{ date: new Date("09/28/2023"), value: 313.64 },
{ date: new Date("09/29/2023"), value: 315.75 },
{ date: new Date("10/02/2023"), value: 321.8 },
{ date: new Date("10/03/2023"), value: 313.39 },
{ date: new Date("10/04/2023"), value: 318.955 },
{ date: new Date("10/05/2023"), value: 319.36 },
{ date: new Date("10/06/2023"), value: 327.26 },
{ date: new Date("10/09/2023"), value: 329.82 },
{ date: new Date("10/10/2023"), value: 328.39 },
{ date: new Date("10/11/2023"), value: 332.42 },
{ date: new Date("10/12/2023"), value: 331.16 },
{ date: new Date("10/13/2023"), value: 327.73 },
{ date: new Date("10/16/2023"), value: 332.64 },
{ date: new Date("10/17/2023"), value: 332.06 },
{ date: new Date("10/18/2023"), value: 330.11 },
{ date: new Date("10/19/2023"), value: 331.32 },
{ date: new Date("10/20/2023"), value: 326.67 },
{ date: new Date("10/23/2023"), value: 329.32 },
{ date: new Date("10/24/2023"), value: 330.53 },
{ date: new Date("10/25/2023"), value: 340.67 },
{ date: new Date("10/26/2023"), value: 327.89 },
{ date: new Date("10/27/2023"), value: 329.81 },
{ date: new Date("10/30/2023"), value: 337.31 },
{ date: new Date("10/31/2023"), value: 338.11 },
{ date: new Date("11/01/2023"), value: 346.07 },
{ date: new Date("11/02/2023"), value: 348.32 },
{ date: new Date("11/03/2023"), value: 352.8 },
{ date: new Date("11/06/2023"), value: 356.53 },
{ date: new Date("11/07/2023"), value: 360.53 },
{ date: new Date("11/08/2023"), value: 363.2 },
{ date: new Date("11/09/2023"), value: 360.69 },
{ date: new Date("11/10/2023"), value: 369.67 },
{ date: new Date("11/13/2023"), value: 366.68 },
{ date: new Date("11/14/2023"), value: 370.27 },
{ date: new Date("11/15/2023"), value: 369.67 },
{ date: new Date("11/16/2023"), value: 376.17 },
{ date: new Date("11/17/2023"), value: 369.85 },
{ date: new Date("11/20/2023"), value: 377.44 },
{ date: new Date("11/21/2023"), value: 373.07 },
{ date: new Date("11/22/2023"), value: 377.85 },
{ date: new Date("11/24/2023"), value: 377.43 },
{ date: new Date("11/27/2023"), value: 378.61 },
{ date: new Date("11/28/2023"), value: 382.7 },
{ date: new Date("11/29/2023"), value: 378.85 },
{ date: new Date("11/30/2023"), value: 378.91 },
{ date: new Date("12/01/2023"), value: 374.51 },
{ date: new Date("12/04/2023"), value: 369.14 },
{ date: new Date("12/05/2023"), value: 372.52 },
{ date: new Date("12/06/2023"), value: 368.8 },
{ date: new Date("12/07/2023"), value: 370.95 },
{ date: new Date("12/08/2023"), value: 374.23 },
{ date: new Date("12/11/2023"), value: 371.3 },
{ date: new Date("12/12/2023"), value: 374.38 },
{ date: new Date("12/13/2023"), value: 374.37 },
{ date: new Date("12/14/2023"), value: 365.93 },
{ date: new Date("12/15/2023"), value: 370.73 },
{ date: new Date("12/18/2023"), value: 372.65 },
{ date: new Date("12/19/2023"), value: 373.26 },
{ date: new Date("12/20/2023"), value: 370.62 },
{ date: new Date("12/21/2023"), value: 373.54 },
{ date: new Date("12/22/2023"), value: 374.58 },
{ date: new Date("12/26/2023"), value: 374.66 },
{ date: new Date("12/27/2023"), value: 374.07 },
{ date: new Date("12/28/2023"), value: 375.28 },
{ date: new Date("12/29/2023"), value: 376.04 },
{ date: new Date("01/02/2024"), value: 370.87 },
{ date: new Date("01/03/2024"), value: 370.6 },
{ date: new Date("01/04/2024"), value: 367.94 },
{ date: new Date("01/05/2024"), value: 367.75 },
{ date: new Date("01/08/2024"), value: 374.69 },
{ date: new Date("01/09/2024"), value: 375.79 },
{ date: new Date("01/10/2024"), value: 382.77 },
{ date: new Date("01/11/2024"), value: 384.63 },
{ date: new Date("01/12/2024"), value: 388.47 },
{ date: new Date("01/16/2024"), value: 390.27 },
{ date: new Date("01/17/2024"), value: 389.47 },
{ date: new Date("01/18/2024"), value: 393.87 },
{ date: new Date("01/19/2024"), value: 398.67 },
{ date: new Date("01/22/2024"), value: 396.51 },
{ date: new Date("01/23/2024"), value: 398.9 },
{ date: new Date("01/24/2024"), value: 402.56 },
{ date: new Date("01/25/2024"), value: 404.87 },
{ date: new Date("01/26/2024"), value: 403.93 },
{ date: new Date("01/29/2024"), value: 409.72 },
{ date: new Date("01/30/2024"), value: 408.59 },
{ date: new Date("01/31/2024"), value: 397.58 },
{ date: new Date("02/01/2024"), value: 403.78 },
{ date: new Date("02/02/2024"), value: 411.22 },
{ date: new Date("02/05/2024"), value: 405.65 },
{ date: new Date("02/06/2024"), value: 405.49 },
{ date: new Date("02/07/2024"), value: 414.05 },
{ date: new Date("02/08/2024"), value: 414.11 },
{ date: new Date("02/09/2024"), value: 420.55 },
];
Enable chart synchronization by configuring the sync option on at least two charts. By default this will synchronize the axis domain, zoom, and user node interactions along the x-axis.
{
sync: {
enabled: true,
},
}In the above example:
- Both charts have the same axes domain range for the x-axis.
- Any changes to the horizontal zoom level or position made in any chart or the Navigator, are reflected in both charts.
- Hovering a node in one chart, will highlight and show crosshairs and tooltips for the corresponding node in the other chart.
All synchronized axes must have the same values for their min, max, nice and reverse properties.
Axes Domain Copy Link
Synchronize the axis domain of multiple charts, to ensure they all show the same domain range.
import {
AgCartesianChartOptions,
AgCharts,
AnimationModule,
BarSeriesModule,
CategoryAxisModule,
ContextMenuModule,
CrosshairModule,
LegendModule,
ModuleRegistry,
NumberAxisModule,
SyncModule,
} from "ag-charts-enterprise";
import { currentData, historicalData } from "./data";
const commonOptions: AgCartesianChartOptions = {
sync: {
axes: "y",
nodeInteraction: false,
},
title: {
text: "Renewable Fuel Sources",
},
axes: {
y: {
type: "number",
crosshair: { enabled: false },
},
x: {
type: "category",
crosshair: { enabled: false },
label: {
autoRotate: false,
},
},
},
series: [
{
type: "bar",
xKey: "year",
yKey: "Offshore wind",
yName: "Offshore Wind",
},
{
type: "bar",
xKey: "year",
yKey: "Landfill gas",
yName: "Landfill Gas",
},
{
type: "bar",
xKey: "year",
yKey: "Plant biomass",
yName: "Plant Biomass",
},
],
};
ModuleRegistry.registerModules([
AnimationModule,
BarSeriesModule,
CategoryAxisModule,
CrosshairModule,
LegendModule,
NumberAxisModule,
SyncModule,
ContextMenuModule,
]);
const chartOptions1 = {
...commonOptions,
subtitle: {
text: "Historical Data",
},
data: historicalData,
};
chartOptions1.container = document.getElementById("myChart1");
const chartOptions2 = {
...commonOptions,
subtitle: {
text: "Current Data",
},
data: currentData,
};
chartOptions2.container = document.getElementById("myChart2");
AgCharts.create(chartOptions1);
AgCharts.create(chartOptions2);
.example-wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
height: 100%;
}
export const historicalData = [
{
year: 2015,
"Offshore wind": 1411,
"Plant biomass": 3855,
"Landfill gas": 1542,
},
{
year: 2017,
"Offshore wind": 1798,
"Plant biomass": 4206,
"Landfill gas": 1405,
},
{
year: 2019,
"Offshore wind": 2281,
"Plant biomass": 4898,
"Landfill gas": 1284,
},
];
export const currentData = [
{
year: 2021,
"Offshore wind": 3053,
"Plant biomass": 5990,
"Landfill gas": 791,
},
];
{
sync: {
axes: 'y', // Options are `x`, `y`, `xy`
nodeInteraction: false,
},
}In the above example:
- Only the
yaxes have been synchronized. The values on eachxaxis are different. - Changing the automatic
yaxis domain range by clicking the legend items in one chart, will change theyaxis domain range in the other. - The
nodeInteractionsynchronization is disabled, andzoomis not enabled on either chart.
Node Interaction Copy Link
A hovered node in one chart will highlight and show tooltips and crosshairs (if enabled) for the corresponding node in other synchronised charts.
The nodes are matched on identical values along the axis specified in sync.axes. This can be x or y, if xy is specified values are matched on the x axis only.
For multi-series charts, series with matching _Key configurations will be matched together.
import {
AgCartesianChartOptions,
AgCharts,
AnimationModule,
BarSeriesModule,
ContextMenuModule,
CrosshairModule,
LegendModule,
LineSeriesModule,
ModuleRegistry,
NumberAxisModule,
SyncModule,
UnitTimeAxisModule,
} from "ag-charts-enterprise";
import { regionAdata, regionBdata } from "./data";
const commonOptions: AgCartesianChartOptions = {
sync: { axes: "xy" },
series: [
{
type: "bar",
xKey: "date",
yKey: "domestic",
yName: "Domestic",
},
{
type: "bar",
xKey: "date",
yKey: "international",
yName: "International",
},
{
type: "line",
xKey: "date",
yKey: "product",
yName: "Product",
yKeyAxis: "ySecondary",
},
{
type: "line",
xKey: "date",
yKey: "services",
yName: "Services",
yKeyAxis: "ySecondary",
},
],
axes: {
x: {
type: "unit-time",
},
y: {
type: "number",
position: "left",
max: 100,
},
ySecondary: {
type: "number",
position: "right",
},
},
tooltip: { mode: "single" },
};
ModuleRegistry.registerModules([
AnimationModule,
BarSeriesModule,
CrosshairModule,
LegendModule,
LineSeriesModule,
NumberAxisModule,
SyncModule,
UnitTimeAxisModule,
ContextMenuModule,
]);
const chartOptions1 = {
...commonOptions,
title: {
text: "Region A",
},
data: regionAdata,
};
chartOptions1.container = document.getElementById("myChart1");
const chartOptions2 = {
...commonOptions,
title: {
text: "Region B",
},
data: regionBdata,
};
chartOptions2.container = document.getElementById("myChart2");
AgCharts.create(chartOptions1);
AgCharts.create(chartOptions2);
.example-wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
height: 100%;
}
export const regionAdata = [
{
date: new Date("2024-02-01"),
product: 700,
services: 450,
domestic: 40,
international: 25,
},
{
date: new Date("2024-02-02"),
product: 720,
services: 460,
domestic: 42,
international: 26,
},
{
date: new Date("2024-02-03"),
product: 690,
services: 440,
domestic: 38,
international: 24,
},
{
date: new Date("2024-02-04"),
product: 750,
services: 470,
domestic: 45,
international: 28,
},
{
date: new Date("2024-02-05"),
product: 730,
services: 455,
domestic: 41,
international: 26,
},
];
export const regionBdata = [
{
date: new Date("2024-02-01"),
product: 850,
services: 500,
domestic: 30,
international: 20,
},
{
date: new Date("2024-02-02"),
product: 870,
services: 510,
domestic: 33,
international: 22,
},
{
date: new Date("2024-02-03"),
product: 830,
services: 495,
domestic: 29,
international: 21,
},
{
date: new Date("2024-02-04"),
product: 890,
services: 520,
domestic: 36,
international: 25,
},
{
date: new Date("2024-02-05"),
product: 860,
services: 505,
domestic: 32,
international: 23,
},
];
export function formatMillis(ms: number, precision: number): string {
return `${new Intl.NumberFormat("en-US", {
maximumFractionDigits: precision,
}).format(ms)}ms`;
}
export function formatBytes(bytes: number): string {
const kb = bytes / 1024;
return kb < 1024 ? `${kb.toFixed(2)}KB` : `${(kb / 1024).toFixed(2)}MB`;
}
export function labelFormatter(
formatter: (value: number, precision: number) => string,
) {
return (params: { value: number }) => {
const val = Number(params.value);
if (val === 0) return "0";
return params.value == null
? params.value
: formatter(val, val === 0 || val > 10 ? 0 : 2);
};
}
In the above example:
- Node interactions are synchronized by matching X-axis values and Y-axis series keys.
- Hovering on a node in one chart will highlight the corresponding node in the other chart.
This synchronisation is enabled by default. To disable, set nodeInteraction to false.
{
sync: {
nodeInteraction: false,
},
}Synchronization of node interaction for single-series charts requires that only a single matching node is shown in each chart, with unique values along the synchronised axis. For multi-series charts, each series can only contain one node per X-axis value, and the series to be matched must have identical keys for the Y-axis values.
Zoom Copy Link
Maintains shared zoom level and position on the synchronized axes across charts. This is applied to the axes specified in the sync.axes option.
- The zoom is shared based on the axis values, and is independent of the actual container or chart size.
- It is possible to disable zoom functionality on one chart but still allow it to be controlled by zoom functionality on another chart.
Disable automatic zoom synchronization to manage zoom levels independently.
{
sync: {
zoom: false,
},
} Synchronization Groups Copy Link
Use groupId to synchronize charts within the same group, supporting multiple independent groups on a single page.
import {
AgCartesianChartOptions,
AgChartOptions,
AgCharts,
AnimationModule,
CategoryAxisModule,
ContextMenuModule,
CrosshairModule,
LegendModule,
LineSeriesModule,
ModuleRegistry,
NumberAxisModule,
SyncModule,
ZoomModule,
} from "ag-charts-enterprise";
import {
costsProductA,
costsProductB,
salesProductA,
salesProductB,
} from "./data";
const commonOptions: AgCartesianChartOptions = {
minWidth: 0,
minHeight: 0,
tooltip: {
enabled: false,
},
zoom: {
enabled: true,
},
};
const topChartAxis: AgCartesianChartOptions = {
axes: {
x: {
type: "category",
label: { enabled: false },
line: { enabled: false },
crosshair: {
enabled: true,
label: { enabled: false },
},
},
},
};
const bottomChartAxis: AgCartesianChartOptions = {
axes: {
x: {
type: "category",
label: { autoRotate: false },
crosshair: { enabled: true },
},
},
};
ModuleRegistry.registerModules([
AnimationModule,
CategoryAxisModule,
CrosshairModule,
LegendModule,
LineSeriesModule,
NumberAxisModule,
SyncModule,
ZoomModule,
ContextMenuModule,
]);
const chartOptions1 = {
...commonOptions,
...topChartAxis,
sync: {
enabled: true,
groupId: "sales",
},
subtitle: { text: "Product A", textAlign: "left" },
data: salesProductA,
padding: { bottom: 5 },
series: [
{
type: "line",
xKey: "quarter",
yKey: "sales",
},
],
};
chartOptions1.container = document.getElementById("myChart1");
const chartOptions2 = {
...commonOptions,
...topChartAxis,
sync: {
enabled: true,
groupId: "costs",
},
subtitle: { text: "Product A", textAlign: "left" },
data: costsProductA,
series: [
{
type: "line",
xKey: "quarter",
yKey: "costs",
stroke: "#FCA03A",
marker: { fill: "#FCA03A" },
},
],
};
chartOptions2.container = document.getElementById("myChart2");
const chartOptions3 = {
...commonOptions,
...bottomChartAxis,
sync: {
enabled: true,
groupId: "sales",
},
subtitle: { text: "Product B", textAlign: "left" },
data: salesProductB,
series: [
{
type: "line",
xKey: "quarter",
yKey: "sales",
},
],
};
chartOptions3.container = document.getElementById("myChart3");
const chartOptions4 = {
...commonOptions,
...bottomChartAxis,
sync: { enabled: true, groupId: "costs" },
subtitle: { text: "Product B", textAlign: "left" },
data: costsProductB,
series: [
{
type: "line",
xKey: "quarter",
yKey: "efficiency",
stroke: "#FCA03A",
marker: { fill: "#FCA03A" },
},
],
};
chartOptions4.container = document.getElementById("myChart4");
AgCharts.create(chartOptions1);
AgCharts.create(chartOptions2);
AgCharts.create(chartOptions3);
AgCharts.create(chartOptions4);
.example-wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 8px;
height: 100%;
}
.labels-row {
display: grid;
grid-template-columns: 1fr 1fr;
text-align: center;
margin-bottom: 0.5rem;
}
.label {
color: #464646;
font-family:
'IBM Plex Sans',
-apple-system,
'system-ui',
'Segoe UI',
Roboto,
Oxygen-Sans,
Ubuntu,
Cantarell,
'Helvetica Neue',
sans-serif;
font-size: 17px;
font-weight: 400;
}
export const salesProductA = [
{ quarter: "Q1 2018", sales: 450 },
{ quarter: "Q2 2018", sales: 470 },
{ quarter: "Q3 2018", sales: 550 },
{ quarter: "Q4 2018", sales: 520 },
{ quarter: "Q1 2019", sales: 480 },
{ quarter: "Q2 2019", sales: 510 },
{ quarter: "Q3 2019", sales: 590 },
{ quarter: "Q4 2019", sales: 600 },
{ quarter: "Q1 2020", sales: 560 },
{ quarter: "Q2 2020", sales: 450 },
{ quarter: "Q3 2020", sales: 470 },
{ quarter: "Q4 2020", sales: 650 },
{ quarter: "Q1 2021", sales: 670 },
{ quarter: "Q2 2021", sales: 690 },
{ quarter: "Q3 2021", sales: 710 },
{ quarter: "Q4 2021", sales: 730 },
{ quarter: "Q1 2022", sales: 750 },
{ quarter: "Q2 2022", sales: 770 },
{ quarter: "Q3 2022", sales: 790 },
{ quarter: "Q4 2022", sales: 810 },
];
export const costsProductA = [
{ quarter: "Q1 2018", costs: 250 },
{ quarter: "Q2 2018", costs: 260 },
{ quarter: "Q3 2018", costs: 270 },
{ quarter: "Q4 2018", costs: 280 },
{ quarter: "Q1 2019", costs: 290 },
{ quarter: "Q2 2019", costs: 300 },
{ quarter: "Q3 2019", costs: 310 },
{ quarter: "Q4 2019", costs: 320 },
{ quarter: "Q1 2020", costs: 305 },
{ quarter: "Q2 2020", costs: 290 },
{ quarter: "Q3 2020", costs: 295 },
{ quarter: "Q4 2020", costs: 310 },
{ quarter: "Q1 2021", costs: 320 },
{ quarter: "Q2 2021", costs: 330 },
{ quarter: "Q3 2021", costs: 340 },
{ quarter: "Q4 2021", costs: 350 },
{ quarter: "Q1 2022", costs: 360 },
{ quarter: "Q2 2022", costs: 370 },
{ quarter: "Q3 2022", costs: 380 },
{ quarter: "Q4 2022", costs: 390 },
];
export const salesProductB = [
{ quarter: "Q1 2018", sales: 420 },
{ quarter: "Q2 2018", sales: 440 },
{ quarter: "Q3 2018", sales: 460 },
{ quarter: "Q4 2018", sales: 500 },
{ quarter: "Q1 2019", sales: 520 },
{ quarter: "Q2 2019", sales: 540 },
{ quarter: "Q3 2019", sales: 560 },
{ quarter: "Q4 2019", sales: 600 },
{ quarter: "Q1 2020", sales: 620 },
{ quarter: "Q2 2020", sales: 600 },
{ quarter: "Q3 2020", sales: 480 },
{ quarter: "Q4 2020", sales: 500 },
{ quarter: "Q1 2021", sales: 640 },
{ quarter: "Q2 2021", sales: 660 },
{ quarter: "Q3 2021", sales: 680 },
{ quarter: "Q4 2021", sales: 700 },
{ quarter: "Q1 2022", sales: 720 },
{ quarter: "Q2 2022", sales: 740 },
{ quarter: "Q3 2022", sales: 760 },
{ quarter: "Q4 2022", sales: 780 },
];
export const costsProductB = [
{ quarter: "Q1 2018", efficiency: 85 },
{ quarter: "Q2 2018", efficiency: 87 },
{ quarter: "Q3 2018", efficiency: 89 },
{ quarter: "Q4 2018", efficiency: 88 },
{ quarter: "Q1 2019", efficiency: 90 },
{ quarter: "Q2 2019", efficiency: 92 },
{ quarter: "Q3 2019", efficiency: 91 },
{ quarter: "Q4 2019", efficiency: 93 },
{ quarter: "Q1 2020", efficiency: 92 },
{ quarter: "Q2 2020", efficiency: 90 },
{ quarter: "Q3 2020", efficiency: 91 },
{ quarter: "Q4 2020", efficiency: 94 },
{ quarter: "Q1 2021", efficiency: 95 },
{ quarter: "Q2 2021", efficiency: 96 },
{ quarter: "Q3 2021", efficiency: 97 },
{ quarter: "Q4 2021", efficiency: 98 },
{ quarter: "Q1 2022", efficiency: 99 },
{ quarter: "Q2 2022", efficiency: 100 },
{ quarter: "Q3 2022", efficiency: 101 },
{ quarter: "Q4 2022", efficiency: 102 },
];
{
sync: {
groupId: 'Group 1',
},
}In the above example:
- The charts on the left are synchronised with each other, as are the charts on the right.
- The top charts have their x-axis and crosshair labels hidden, to give a 'combined chart' effect.
Charts without a groupId will be allocated to a default group.
API Reference Copy Link
Properties available on the AgChartSyncOptions interface.
- enabled
boolean - Toggles the synchronization feature. It is implicitly enabled when configuration options are provided; otherwise, it defaults to `false`.
- groupId
string - Specifies the synchronization group identifier for the chart. Omitting this assigns the chart to a default synchronization group.
- axes
'x' | 'y' | 'xy'default: x - Determines the axes to be synchronized across charts.
- nodeInteraction
booleandefault: true - Enables synchronization of node interactions across charts.
- zoom
booleandefault: true - Enables synchronization of zoom actions across charts.
Properties available on the AgChartSyncOptions interface.
- enabled
boolean - Toggles the synchronization feature. It is implicitly enabled when configuration options are provided; otherwise, it defaults to `false`.
- groupId
string - Specifies the synchronization group identifier for the chart. Omitting this assigns the chart to a default synchronization group.
- axes
'x' | 'y' | 'xy'default: x - Determines the axes to be synchronized across charts.
- nodeInteraction
booleandefault: true - Enables synchronization of node interactions across charts.
- zoom
booleandefault: true - Enables synchronization of zoom actions across charts.