You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.8 KiB
102 lines
2.8 KiB
/* ------------------------------------------------------------------------------ |
|
* |
|
* # Google Visualization - line intervals |
|
* |
|
* Google Visualization line chart with intervals demonstration |
|
* |
|
* Version: 1.0 |
|
* Latest update: August 1, 2015 |
|
* |
|
* ---------------------------------------------------------------------------- */ |
|
|
|
|
|
// Line intervals |
|
// ------------------------------ |
|
|
|
// Initialize chart |
|
google.load("visualization", "1", {packages:["corechart"]}); |
|
google.setOnLoadCallback(drawLineIntervals); |
|
|
|
|
|
// Chart settings |
|
function drawLineIntervals() { |
|
|
|
// Data |
|
var data = new google.visualization.DataTable(); |
|
data.addColumn('string', 'x'); |
|
data.addColumn('number', 'values'); |
|
data.addColumn({id:'i0', type:'number', role:'interval'}); |
|
data.addColumn({id:'i1', type:'number', role:'interval'}); |
|
data.addColumn({id:'i2', type:'number', role:'interval'}); |
|
data.addColumn({id:'i2', type:'number', role:'interval'}); |
|
data.addColumn({id:'i2', type:'number', role:'interval'}); |
|
data.addColumn({id:'i2', type:'number', role:'interval'}); |
|
|
|
data.addRows([ |
|
['a', 100, 90, 110, 85, 96, 104, 120], |
|
['b', 120, 95, 130, 90, 113, 124, 140], |
|
['c', 130, 105, 140, 100, 117, 133, 139], |
|
['d', 90, 85, 95, 85, 88, 92, 95], |
|
['e', 70, 74, 63, 67, 69, 70, 72], |
|
['f', 30, 39, 22, 21, 28, 34, 40], |
|
['g', 80, 77, 83, 70, 77, 85, 90], |
|
['h', 100, 90, 110, 85, 95, 102, 110] |
|
]); |
|
|
|
// The intervals data as narrow lines (useful for showing raw source data) |
|
var options_line_intervals = { |
|
fontName: 'Roboto', |
|
height: 400, |
|
curveType: 'function', |
|
fontSize: 12, |
|
chartArea: { |
|
left: '5%', |
|
width: '90%', |
|
height: 350 |
|
}, |
|
lineWidth: 3, |
|
tooltip: { |
|
textStyle: { |
|
fontName: 'Roboto', |
|
fontSize: 13 |
|
} |
|
}, |
|
series: [{'color': '#EF5350'}], |
|
intervals: {'style': 'line'}, // Use line intervals. |
|
pointSize: 5, |
|
vAxis: { |
|
title: 'Number values', |
|
titleTextStyle: { |
|
fontSize: 13, |
|
italic: false |
|
}, |
|
gridlines:{ |
|
color: '#e5e5e5', |
|
count: 10 |
|
}, |
|
minValue: 0 |
|
}, |
|
legend: 'none' |
|
}; |
|
|
|
|
|
// Draw chart |
|
var line_intervals = new google.visualization.LineChart($('#google-line-intervals')[0]); |
|
line_intervals.draw(data, options_line_intervals); |
|
} |
|
|
|
|
|
// Resize chart |
|
// ------------------------------ |
|
|
|
$(function () { |
|
|
|
// Resize chart on sidebar width change and window resize |
|
$(window).on('resize', resize); |
|
$(".sidebar-control").on('click', resize); |
|
|
|
// Resize function |
|
function resize() { |
|
drawLineIntervals(); |
|
} |
|
});
|
|
|