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


DataViz Chart is fast. It uses HTML5 Canvas for renedering, which allows fast chart updates without increasing the browser memory usages.

For detailed implementation, please take a look at the HTML code tab.
 
<!DOCTYPE html>
<html>
<head>
	<title>
	Live Updates 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' }
			]
		};

		var data = [];
		var yValue = 20;

		for (var i = 0; i < 10; i++) {
			yValue = Math.round(Math.random() * 100);
			data.push(yValue);
		}

		var state = {
			title: { text: 'Live Updates' },
			border: { strokeStyle: '#6ba851' },
			background: background,
			legend: { visible: false },
			axes: [
				{
					location: 'left',
					minimum: 0,
					maximum: 100
				}
			],
			series: [
				{
					type: 'column',
					data: data,
					fillStyle: fillStyle
				}
			]
		};

		var chart = new DataViz.Chart(state);

		chart.write('container');

		updateChart();

		function updateChart() {

			yValue = Math.round(Math.random() * 100);

			// remove the first element
			data.splice(0, 1);
			// add a new element
			data.push(yValue);

			state.series[0].data = data;

			chart.setState(state);

			setTimeout("updateChart()", 300);
		}
	</script>

</head>
<body>
	<div>
		<div id="container" style="width: 500px; height: 300px;">
		</div>
	</div>
</body>
</html>