Chart tab in EJ2 TypeScript Chart control
8 May 202312 minutes to read
By using Tab control you can add the charts inside of the tab. Tab control contains content property. By setting container ID in content property, you can display chart in tab.
The following code sample demonstrates the output
import { Tab } from '@syncfusion/ej2-navigations';
import { Chart, ColumnSeries, DateTime, Legend, Tooltip, ILoadedEventArgs, ChartTheme } from '@syncfusion ej2-charts';
import { Browser } from '@syncfusion/ej2-base';
Chart.Inject(ColumnSeries, DateTime, Legend, Tooltip);
let chart: Chart = new Chart({
//Initializing Primary X Axis
primaryXAxis: {
valueType: 'DateTime',
labelFormat: 'y',
intervalType: 'Years',
edgeLabelPlacement: 'Shift',
},
//Initializing Chart Series
series: [
{
type: 'Column',
dataSource: [
{ x: new Date(2005, 0, 1), y: 21 }, { x: new Date(2006, 0, 1), y: 24 },
{ x: new Date(2007, 0, 1), y: 36 }
],
xName: 'x', width: 2,fill: 'orange', marker: {
visible: true,
width: 10,
height: 10
},
yName: 'y', name: 'Germany',
},
],
//Initializing Chart title
title: 'Inflation - Consumer Price',
//Initializing User Interaction Tooltip
tooltip: {
enable: true
},
});
chart.appendTo('#container');
let chart1: Chart = new Chart({
//Initializing Primary X Axis
primaryXAxis: {
valueType: 'DateTime',
labelFormat: 'y',
intervalType: 'Years',
edgeLabelPlacement: 'Shift',
},
//Initializing Chart Series
series: [
{
type: 'Column',
dataSource: [
{ x: new Date(2005, 0, 1), y: 21 }, { x: new Date(2006, 0, 1), y: 24 },
{ x: new Date(2007, 0, 1), y: 36 }
],
xName: 'x', width: 2, fill: 'red', marker: {
visible: true,
width: 10,
height: 10
},
yName: 'y', name: 'Germany',
},
],
//Initializing Chart title
title: 'Inflation - Consumer Price',
//Initializing User Interaction Tooltip
tooltip: {
enable: true
},
});
chart1.appendTo('#container1');
let chart2: Chart = new Chart({
//Initializing Primary X Axis
primaryXAxis: {
valueType: 'DateTime',
labelFormat: 'y',
intervalType: 'Years',
edgeLabelPlacement: 'Shift',
},
//Initializing Chart Series
series: [
{
type: 'Column',
dataSource: [
{ x: new Date(2005, 0, 1), y: 21 }, { x: new Date(2006, 0, 1), y: 24 },
{ x: new Date(2007, 0, 1), y: 36 }
],
xName: 'x', width: 2, fill: 'green', marker: {
visible: true,
width: 10,
height: 10
},
yName: 'y', name: 'Germany',
},
],
//Initializing Chart title
title: 'Inflation - Consumer Price',
//Initializing User Interaction Tooltip
tooltip: {
enable: true
},
});
chart2.appendTo('#container2');
//Initialize Tab component
let tabObj: Tab = new Tab({
items: [
{
header: { 'text': 'Chart 1' },
content: '#container'
},
{
header: { 'text': 'Chart 2' },
content: '#container1'
},
{
header: { 'text': 'Chart 3' },
content: '#container2'
}
]
});
//Render initialized Tab component
tabObj.appendTo('#tab_default');
<!DOCTYPE html>
<html lang="en">
<head>
<title>EJ2 Animation</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Typescript UI Controls" />
<meta name="author" content="Syncfusion" />
<link href="index.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
<script src="systemjs.config.js"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>
<body>
<div id='loader'>Loading....</div>
<div id='loader'>Loading....</div>
<div class="col-lg-12 control-section">
<div class="e-sample-resize-container">
<div id="tab_default">
</div>
<div id="container">
</div>
<div id="container1">
</div>
<div id="container2">
</div>
</div>
</div>
</body>
</html>