Ei muokkausyhteenvetoa |
Ei muokkausyhteenvetoa |
||
| Rivi 311: | Rivi 311: | ||
function addDataToDateOfYearChart( memo ) { | function addDataToDateOfYearChart( memo ) { | ||
// do X axis min and max for this chart type | // do X axis min and max for this chart type | ||
memo.options.hAxis.minValue = new Date( memo.obsMinDateMs ); | memo.options.hAxis.minValue = new Date( memo.obsMinDateMs ); | ||
| Rivi 386: | Rivi 366: | ||
for ( var o in memo.obsesA ) { | for ( var o in memo.obsesA ) { | ||
s = memo.obsesA[o].seriesId; | s = memo.obsesA[o].seriesId; | ||
if (typeof memo.seriesO[s] == 'undefined' ) { memo.seriesO[s] = { ' | if (typeof memo.seriesO[s] == 'undefined' ) { memo.seriesO[s] = { 'type': 'scatter', 'obses': [] }; } | ||
memo.seriesO[s].obses.push( memo.obsesA[o] ); | memo.seriesO[ s ].obses.push( memo.obsesA[o] ); | ||
} | } | ||
// create ice cover series | |||
if ( memo.obscode == 'ice_cat_2,5' ) { | |||
hascover = false; | |||
memo.obsesS = {}; | |||
for ( var o in memo.obsesA ) { | |||
var obs = memo.obsesA[ o ]; | |||
if ( typeof memo.obsesS[ obs.season ] == 'undefined' ) { | |||
memo.obsesS[ obs.season ] = {}; | |||
} | |||
if ( obs.cat == '2' ) { | |||
memo.obsesS[ obs.season ][ 'low' ] = obs.compareDate; | |||
} else if ( obs.cat == '5' ) { | |||
memo.obsesS[ obs.season ][ 'high' ] = obs.compareDate; | |||
} | |||
if ( typeof memo.obsesS[ obs.season ][ 'low' ] != 'undefined' && typeof memo.obsesS[ obs.season ][ 'high' ] != 'undefined' ) { | |||
memo.obsesS[ obs.season ][ 'icecover' ] = ( memo.obsesS[ obs.season ][ 'high' ].getTime() - memo.obsesS[ obs.season ][ 'low' ].getTime() ) / ( 1000*60*60*24 ); | |||
if ( typeof memo.seriesO[ 'icecover' ] == 'undefined' ) { | |||
memo.seriesO[ 'icecover' ] = { 'type': 'candlestick', obses: [] }; | |||
} | |||
memo.seriesO[ 'icecover' ].obses.push( obs ); | |||
} | |||
} | |||
} | |||
for ( var s in memo.seriesO ) { | |||
if ( memo.seriesO[ s ].type == 'scatter' ) { | |||
memo.data.addColumn( 'date', memo.obsMinYear + '-' + memo.obsMaxYear ); | |||
memo.data.addColumn( {'type': 'string', 'role': 'style' } ); | |||
memo.data.addColumn( { type: 'string', role: 'annotation' } ); | |||
memo.data.addColumn( { type: 'string', role: 'tooltip', 'p': { 'html': true } } ); | |||
memo.options.series[] = { type: 'scatter', pointType: 'circle', pointSize: 9, color: '#3366cc' }; | |||
} else if ( memo.seriesO[ s ].type == 'candlestick' ) { | |||
memo.dataTable.addColumn( 'date', 'Jääpeiteaika' ); | |||
memo.dataTable.addColumn( 'date', '' ); | |||
memo.dataTable.addColumn( 'date', '' ); | |||
memo.dataTable.addColumn( 'date', '' ); | |||
memo.dataTable.addColumn({ role: 'tooltip', 'p': { 'html': true } }); | |||
memo.options.series[] = { type: 'candlestick', color: '#3366cc' }; | |||
} | |||
// | } | ||
memo. | |||
// add data to table | |||
cc = memo.data.getNumberOfColumns(); | |||
cd = 0; | |||
for ( var s in memo.seriesO ) { | |||
for ( var o in memo.seriesO[ s ].obses ) { | |||
obs = memo.seriesO[ s ].obses[ o ]; | |||
dataRow = []; | |||
// fill row with nulls | |||
for ( var i=0; i<cc; i++ ) { dataRow.push( null ); } | |||
// x axis value | |||
dataRow[ cd++ ] = obs.compareDate; | |||
if ( memo.seriesO.type == 'candlestick' ) { | |||
dataRow[ cd++ ] = obs.low; | |||
dataRow[ cd++ ] = obs.low; | |||
dataRow[ cd++ ] = obs.high; | |||
dataRow[ cd++ ] = obs.high; | |||
dataRow[ cd++ ] = 'tooltip'; | |||
} else if ( memo.seriesO.type == 'scatter' ) { | |||
dataRow[ cd++ ] = obs.value; | |||
dataRow[ cd++ ] = obs.style; | |||
dataRow[ cd++ ] = obs.popup; | |||
dataRow[ cd++ ] = null; | |||
} | |||
memo.dataA.push( dataRow ); | |||
} | |||
} | |||
/* | |||
// linear trend line | // linear trend line | ||
memo.options.trendlines[0] = { labelInLegend: i18n['trendline'][memo.lang], tooltip: false, color: colors['trend'], lineWidth: 2, opacity: 0.5, type: 'linear', visibleInLegend: memo.trendType!='moving' }; | //memo.options.trendlines[0] = { labelInLegend: i18n['trendline'][memo.lang], tooltip: false, color: colors['trend'], lineWidth: 2, opacity: 0.5, type: 'linear', visibleInLegend: memo.trendType!='moving' }; | ||
// data columns for vAxis gridlines | // data columns for vAxis gridlines | ||
| Rivi 410: | Rivi 469: | ||
} | } | ||
// add gridlines | // add gridlines | ||
| Rivi 452: | Rivi 489: | ||
memo.dataA.push( dataRow2 ); | memo.dataA.push( dataRow2 ); | ||
} | } | ||
*/ | |||
drawChart(memo); | drawChart(memo); | ||


