Getting Started

Performance !!!

Chart Data

Bar and Column Charts

Line and Area Charts

Pie and Funnel Charts

Scatter and Bubble Charts

Radar and Polar Charts

Financial Charts

Gantt Charts

Combinational Charts

Dynamic Charts

Working with Chart Axes

Chart Features

Customizing Chart

Client-Side Events




This sample demonstrates how to change (add, remove) chart series.

For detailed implementation, please take a look at the HTML code tab.
 
<!DOCTYPE html>
<html>
<head>
	<title>
	Change Chart Series Example - JavaScript Chart by DataViz Charts
</title>
	<link rel="stylesheet" type="text/css" href="../../css/dataviz.chart.css" />
	<link rel="stylesheet" type="text/css" href="../../themes/le-frog/styles.css" />
	<script src="../../js/dataviz.chart.min.js" type="text/javascript"></script>
	
	<script lang="javascript" type="text/javascript">

		var background = {
			type: 'linearGradient',
			x0: 0,
			y0: 0,
			x1: 0,
			y1: 1,
			colorStops: [
				{ offset: 0, color: '#d2e6c9' },
                { offset: 1, color: 'white' }
			]
		};

		var fillStyle = {
			type: 'linearGradient',
			x0: 0,
			y0: 0,
			x1: 1,
			y1: 0,
			colorStops: [
				{ offset: 0, color: '#65c2e8' },
                { offset: 0.49, color: '#55b3e1' },
                { offset: 0.5, color: '#3ba6dc' },
                { offset: 1, color: '#2794d4' }
			]
		};

		function getRandomData() {
			var data = [];

			for (var i = 0; i < 20; i++) {
				data.push([i, Math.round(Math.random() * 100)]);
			}

			return data;
		}

		var state = {
			title: { text: 'Change Series' },
			border: { strokeStyle: '#6ba851' },
			background: background,
			legend: { visible: false },
			axes: [
				{
					location: 'bottom',
					minimum: 0,
					maximum: 20
				},
				{
					location: 'left',
					minimum: 0,
					maximum: 100
				}
			],
			series: [
				{
					type: 'line',
					data: getRandomData()
				}
			]
		};

		var chart = new DataViz.Chart(state);
		chart.write('container');

		function addSeries() {

			var newSeries = {
				type: 'line',
				data: getRandomData()
			};

			state.series.push(newSeries);

			chart.setState(state);
		}

		function removeSeries() {

			// remove the last series
			state.series.splice(state.series.length - 1, 1);

			chart.setState(state);
		}
	</script>

</head>
<body>
	<div id="container" style="width: 500px; height: 300px;">
	</div>
	<br />
	<input id="buttonAddSeries" type="button" value="Add new series" onclick="addSeries()" />
	<input id="buttonRemoveSeries" type="button" value="Remove last series" onclick="removeSeries()" />
	<br />
</body>
</html>