Blame | Letzte Änderung | Log anzeigen | RSS feed
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Highcharts Example</title><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script><style type="text/css">.chart {min-width: 320px;max-width: 800px;height: 220px;margin: 0 auto;}</style><!-- http://doc.jsfiddle.net/use/hacks.html#css-panel-hack --><meta name="viewport" content="width=device-width, initial-scale=1" /><style></style><script type="text/javascript">/*The purpose of this demo is to demonstrate how multiple charts on the same page can be linkedthrough DOM and Highcharts events and API methods. It takes a standard Highcharts config with asmall variation for each data set, and a mouse/touch event handler to bind the charts together.*/$(function () {/*** In order to synchronize tooltips and crosshairs, override the* built-in events with handlers defined on the parent element.*/$('#container').bind('mousemove touchmove', function (e) {var chart,point,i;for (i = 0; i < Highcharts.charts.length; i++) {chart = Highcharts.charts[i];e = chart.pointer.normalize(e); // Find coordinates within the chartpoint = chart.series[0].searchPoint(e, true); // Get the hovered pointif (point) {point.onMouseOver(); // Show the hover markerchart.tooltip.refresh(point); // Show the tooltipchart.xAxis[0].drawCrosshair(e, point); // Show the crosshair}}});/*** Override the reset function, we don't need to hide the tooltips and crosshairs.*/Highcharts.Pointer.prototype.reset = function () {};/*** Synchronize zooming through the setExtremes event handler.*/function syncExtremes(e) {var thisChart = this.chart;Highcharts.each(Highcharts.charts, function (chart) {if (chart !== thisChart) {if (chart.xAxis[0].setExtremes) { // It is null while updatingchart.xAxis[0].setExtremes(e.min, e.max);}}});}// Get the data. The contents of the data file can be viewed at// https://github.com/highslide-software/highcharts.com/blob/master/samples/data/activity.json$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=activity.json&callback=?', function (activity) {$.each(activity.datasets, function (i, dataset) {// Add X valuesdataset.data = Highcharts.map(dataset.data, function (val, i) {return [activity.xData[i], val];});$('<div class="chart">').appendTo('#container').highcharts({chart: {marginLeft: 40, // Keep all charts left alignedspacingTop: 20,spacingBottom: 20// zoomType: 'x',// pinchType: null // Disable zoom on touch devices},title: {text: dataset.name,align: 'left',margin: 0,x: 30},credits: {enabled: false},legend: {enabled: false},xAxis: {crosshair: true,events: {setExtremes: syncExtremes},labels: {format: '{value} km'}},yAxis: {title: {text: null}},tooltip: {positioner: function () {return {x: this.chart.chartWidth - this.label.width, // right alignedy: -1 // align to title};},borderWidth: 0,backgroundColor: 'none',pointFormat: '{point.y}',headerFormat: '',shadow: false,style: {fontSize: '18px'},valueDecimals: dataset.valueDecimals},series: [{data: dataset.data,name: dataset.name,type: dataset.type,color: Highcharts.getOptions().colors[i],fillOpacity: 0.3,tooltip: {valueSuffix: ' ' + dataset.unit}}]});});});});</script></head><body><script src="../../js/highcharts.js"></script><div id="container"></div></body></html>