A review of things you need to know before you go home on Wednesday; Fonterra disappoints, Ruataniwha gets lifeline, China's consumers smiling, trade surplus vanishing, mortgage approvals peak, swap curve flattens

Short headline: 
What happened Wednesday

Here are the key things you need to know before you leave work today (apart from the cricket result).

TODAY'S MORTGAGE RATE CHANGES
There were no rate changes to report today.

TODAY'S DEPOSIT RATE CHANGES
There are no TD rate changes to report either.

FONTERRA DISAPPOINTS
Dairy giant has retained its $4.70 milk price forecast but has dropped its projected dividend to a possible low of 20c from 25c after results 'below farmers' expectations'.

DEBT BUT NO APPROVALS
The Hawke's Bay Regional Council has voted to allow its investment company HBRIC to borrow $4 mln to keep the Ruataniwha Dam project alive, reported Radio NZ.

CHINA'S CONSUMERS UPBEAT
Chinese consumer sentiment improved in March led by a rebound in personal finances, leaving sentiment at the highest level since July 2014. The Westpac MNI China Consumer Confidence survey showed that household finances picked up as easier monetary policies outweighed the lower growth realities in China. 

TRADE SURPLUS EVAPORATING
Stats NZ reported a trade surplus of $50 mln in February, less than the market expected. The NZ dollar fell 30 pts after the release. Both exports and imports were lower than expected said Westpac. The data is expected to deteriorate further over the coming months as dairy exports continue to track downwards and import growth remains moderate said Infometrics.

MARKET PEAK
Mortgage approvals jumped to their highest average value last week in data released by the RBNZ today. They are now averaging $216,400 per loan approved. But the March real estate selling season may have peaked, and volumes will fall until August now.

WHOLESALE RATES 
Wholesale swap rates fell and flattened today, catching up with recent Wall Street moves of recent days. They are down -2 bp for terms of 3 and 4 years and down -5 bps for 10 years. The 1-5 curve is now back to just +3 bps. The 90 day bank bill rate was up however to 3.64%.

NZ DOLLAR CLIMBS
Check our real-time charts here.  The NZD climbed a little further today as the day progressed after falling back somewhat last night. It is now at 76.5 USc, at 97 AUc, and the TWI is at 80.8.

You can now see an animation of this chart. Click on it, or click here.

Daily exchange rates

//var root_url=”http://www.interest.co.nz/”
var root_url=”http://www.interest.co.nz/charts-csv/” // left untouched for now
var tabs_count=”7″;
var csvfiles_loc= [“/charts-csv/chart_data/exchangerates/daily-usd.csv”,” /charts-csv/chart_data/exchangerates/daily-aud.csv”,” /charts-csv/chart_data/exchangerates/daily-twi.csv”,” /charts-csv/chart_data/exchangerates/daily-yen.csv”,” /charts-csv/chart_data/exchangerates/daily-yuan.csv”,” /charts-csv/chart_data/exchangerates/daily-eur.csv”,” /charts-csv/chart_data/exchangerates/daily-gbp.csv”];
var chart_title_arr= [“US dollar”,”Australian dollar”,”Trade weighted index”,”Japanese Yen”,”Chinese Yuan”,”Euro”,”British pound”];
var chart_subtitles_arr= [“Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”];
var tab_titles_arr= [“US$”,”AU$”,”TWI”,”u00a5en”,”u00a5uan”,”u20acuro”,”GBP”];
var source_arr= [“RBNZ”,”RBNZ”,”RBNZ”,”RBNZ”,”RBNZ”,”RBNZ”,”RBNZ”];
var source_hyperlink_arr= [“http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”];
var tabswidth=”8″;
var decimal_arr= [“4″,”4″,”4″,”2″,”2″,”4″,”4”];

// variable declaration
var xpad;
var padding_value=0;
var range_selector=0
var loc;
var updt;
var val_num;
var vi=0;
var max_val;
var x;

var finalAr = new Array();
for (var i = 0; i <= tabs_count; i++) {
finalAr[i] = new Array();
}
var flagAr = new Array();
for (var i = 0; i <= tabs_count; i++) {
flagAr[i] =[];
}
var yaxisAr = new Array();
for (var i = 0; i 536)
{
var b = arr.length – 536; // to get last 36 points
}
else if (arr.length < 536)
{
var b = 537 – arr.length;
}
else if(arr.length == 536)
{
var b=2;
}

// to generate the format for date representation in x axis

var timestamweek = 604800000;
var timestamday = 86400000;
var timestammonth30 = 2592000000;
var timestammonth31 = 2678400000;
var timestamyear = 31536000000;
var timestamquarterly = 7776000000;

for (var u=0;u<2;u++) {
arr[u] = parseLineCSV(arr[u]);
fomat= String(arr[u][0]);
var k=0;

//alert(fomat.charAt(k));
do {
k++;
} while(fomat.charAt(k)!="-")
var k1 =k;

do {
k++;
} while(fomat.charAt(k)!="-")
var k2=k;

do {
k++;
} while(k<fomat.length)
var k3=k;

var dd= fomat.substring(0,k1);
var mm = fomat.substring(k1+1,k2);
var yy = "20"+fomat.substring(k2+1,k3+1);
var yy1=fomat.substring(k2+1,k3+1);

// conversion of months into numerical form

//+++++++++++++++++++++++++++++++++++
if (mm == "Jan")
{
mm= "01";
}
else if (mm == "Feb")
{
mm= "02";
}

else if (mm == "Mar")
{
mm= "03";
}

else if (mm == "Apr")
{
mm= "04";
}

else if (mm == "May")
{
mm= "05";
}

else if (mm == "Jun")
{
mm= "06";
}

else if (mm == "Jul")
{
mm= "07";
}

else if (mm == " Aug")
{
mm= "08";
}

else if (mm == "Sep")
{
mm= "09";
}

else if (mm == "Oct")
{
mm= "10";
}

else if (mm == "Nov")
{
mm= "11";
}

else if (mm == "Dec")
{
mm= "12";
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++

var date2 = mm+"/"+dd+"/"+yy;

if (u==0)
{
var timestam1 = Date.parse(date2);
}
else if(u==1)
{
var timestam2 = Date.parse(date2);
}
}
var timestamvar = (timestam2- timestam1);
var flagAR_count=0;
for (var i=2;i<arr.length;i++) {
flagAR_count++;
var tempAr = new Array();
var tempAr1 = new Array();
arr[i] = parseLineCSV(arr[i]);
//alert("this is arr[i]="+arr[i]);
if (arr[i]!='')
{

fomat= String(arr[i][0]);
replic=String(arr[i][0]);
//alert("this is the value fomat first cond= "+ fomat);
var k=0;

do {
k++;
} while(fomat.charAt(k)!="-")
var k1 =k;

do {
k++;
} while(fomat.charAt(k)!="-")
var k2=k;

do {
k++;
} while(k<fomat.length)
var k3=k;

var dd= fomat.substring(0,k1);
var mm = fomat.substring(k1+1,k2);
var current_year=""+new Date().getFullYear();
var c_year=Number(current_year.substring(2,4));
var c_data=Number(''+fomat.substring(k2+1,k3+1));
if(c_data c_year)
{
var yy = “19”+fomat.substring(k2+1,k3+1);
}
else if(c_data == c_year)
{
var yy = “20”+fomat.substring(k2+1,k3+1);
}
// conversion of months into numerical form

//+++++++++++++++++++++++++++++++++++
if (mm == “Jan”)
{
mm= “01”;
}
else if (mm == “Feb”)
{
mm= “02”;
}

else if (mm == “Mar”)
{
mm= “03”;
}

else if (mm == “Apr”)
{
mm= “04”;
}

else if (mm == “May”)
{
mm= “05”;
}

else if (mm == “Jun”)
{
mm= “06”;
}

else if (mm == “Jul”)
{
mm= “07”;
}

else if (mm == “Aug”)
{
mm= “08”;
}

else if (mm == “Sep”)
{
mm= “09”;
}

else if (mm == “Oct”)
{
mm= “10”;
}

else if (mm == “Nov”)
{
mm= “11”;
}

else if (mm == “Dec”)
{
mm= “12”;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++

var date = mm+”/”+dd+”/”+yy;
//alert(date);

//alert(flagAr[csvgen_counter]);
//alert(“this is flagAr”+flagAr);

var timestam_1 = Date.parse(date);
var timestam= timestam_1+86400000; //86400000 added to get correct timezone output from Date.parse
var time4 = new Date(timestam);
var Weeko = time4.getDay();
var dd2 = time4.getDate();
var mm2 = time4.getMonth();
var flag_y=arr[i][1];
var ahref_title=”Click here for full story”;
// var url= arr[i][2];
//var url=”http://www.nzherald.co.nz”;
//var flag_date='{“x”: “Date.UTC(‘+yy+’,’+mm2+’,’+dd2+’)”, “y”:’flag_y’, “title”: “On series”}’;
//var flag_date='{“x”:”‘+timestam+'”, “title”:”A”}’;
if(arr[i][2])
{
var url=arr[i][2];
var flag_date='{“x”:’+timestam+’, “title”:”  “,”text”:”Click here for Story!“}’;

//var flag_date='{“x”:”‘+timestam+'”, “title”: “A“}’;
//var flag_date=”{x:Date.UTC(“+yy+”,”+mm2+”,”+dd2+”), title:’On series’}”;
flagAr[csvgen_counter].push(flag_date);
}
var yy2 = time4.getFullYear();
var yy3 = yy2+””;
var yy4= yy3.substring(2,4);
//++++++++++++++++++++++++this for days conversion++++++++++++++++++++++++++++
if (Weeko==1)
{
Weeko = “Mon”;
}

else if (Weeko==2)
{
Weeko = “Tue”;
}

else if (Weeko==3)
{
Weeko = “Wed”;
}

else if (Weeko==4)
{
Weeko = “Thu”;
}

else if (Weeko==5)
{
Weeko = “Fri”;
}

else if (Weeko==6)
{
Weeko = “Sat”;
}

else if (Weeko==0)
{
Weeko = “Sun”;
}

//+++++++++++++++++++++++this is for month conversion+++++

if (mm2==0)
{
mm2 = “Jan”;
}

else if (mm2==1)
{
mm2 = “Feb”;
}

else if (mm2==2)
{
mm2 = “Mar”;
}

else if (mm2==3)
{
mm2 = “Apr”;
}

else if (mm2==4)
{
mm2 = “May”;
}

else if (mm2==5)
{
mm2 = “Jun”;
}

else if (mm2==6)
{
mm2 = “Jul”;
}

else if (mm2==7)
{
mm2 = “Aug”;
}

else if (mm2==8)
{
mm2 = “Sep”;
}

else if (mm2==9)
{
mm2 = “Oct”;
}

else if (mm2==10)
{
mm2 = “Nov”;
}

else if (mm2==11)
{
mm2 = “Dec”;
}
//++++++++++++++++++++++++++++++++++++++++

//weekly
if ( timestamvar == timestamweek)
{
fomat2=dd2+”-“+mm2+”-“+yy4;
padding_value=timestamweek;
range_selector=2;
}

// Daily
else if ( timestamvar = timestamyear)
{
fomat2=mm2+”-“+yy4;
padding_value=timestamyear;
range_selector=3;
}

//monthly
else if ((timestamvar <= timestammonth30)&&(timestamvar = timestamquarterly)
{
fomat2=mm2+”-“+yy4;
padding_value=timestamquarterly;
range_selector=3;
}

else
{
fomat2=dd2+”-“+mm2+”-“+yy4;
padding_value=timestamday;
range_selector=3;
}

arr[i][0]= fomat2;
//alert(“this is arr[i][0]”+arr[i][0]);
var decpad;
decpad = parseFloat(arr[i][1]);
//arr[i][1] = roundVal(decpad);
arr[i][1] = decpad;

if(i==(arr.length-1))
{

// Functionality to get the last value

var xvalu=dd2+”-“+mm2+”-“+yy4;
var yvalu= String(arr[i][1]);
var xyvalu=”Latest value at “+xvalu+” is “+yvalu;
updt=”Updated on “+xvalu;
//alert(“this is updt= “+updt);
}

tempAr.push(timestam);
if(!arr[i][1])
{
arr[i][1]=null;
}
yaxisAr[csvgen_counter].push(arr[i][1]);
// tempAr1.push(timestam);
// tempAr2.push(tempAr1);
tempAr.push(arr[i][1]);
last_val=timestam;
finalAr[csvgen_counter].push(tempAr);
}
xpad=last_val+padding_value; //*****************to end up graph early//////
//alert(finalAr[csvgen_counter]);
if(arr[i]== “”)
{
vi=arr.length-i;
arr.length=arr.length-vi;
i=arr.length-1;
fomat = replic;

var k=0;

do {
k++;
} while(fomat.charAt(k)!=”-“)
var k1 =k;

do {
k++;
} while(fomat.charAt(k)!=”-“)
var k2=k;

do {
k++;
} while(k<fomat.length)
var k3=k;

var dd= fomat.substring(0,k1);
var mm = fomat.substring(k1+1,k2);
var yy = "20"+fomat.substring(k2+1,k3+1);

// conversion of months into numerical form

//+++++++++++++++++++++++++++++++++++
if (mm == "Jan")
{
mm= "01";
}
else if (mm == "Feb")
{
mm= "02";
}

else if (mm == "Mar")
{
mm= "03";
}

else if (mm == "Apr")
{
mm= "04";
}

else if (mm == "May")
{
mm= "05";
}

else if (mm == "Jun")
{
mm= "06";
}

else if (mm == "Jul")
{
mm= "07";
}

else if (mm == "Aug")
{
mm= "08";
}

else if (mm == "Sep")
{
mm= "09";
}

else if (mm == "Oct")
{
mm= "10";
}

else if (mm == "Nov")
{
mm= "11";
}

else if (mm == "Dec")
{
mm= "12";
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++

var date = mm+"/"+dd+"/"+yy;
//here flagAr may be
var timestam = Date.parse(date);
var time4 = new Date(timestam);
var Weeko = time4.getDay();
var dd2 = time4.getDate();
var mm2 = time4.getMonth();

var yy2 = time4.getFullYear();
var yy3 = yy2+"";
var yy4= yy3.substring(2,4);
//++++++++++++++++++++++++this for days conversion++++++++++++++++++++++++++++
if (Weeko==1)
{
Weeko = "Mon";
}

else if (Weeko==2)
{
Weeko = "Tue";
}

else if (Weeko==3)
{
Weeko = "Wed";
}

else if (Weeko==4)
{
Weeko = "Thu";
}

else if (Weeko==5)
{
Weeko = "Fri";
}

else if (Weeko==6)
{
Weeko = "Sat";
}

else if (Weeko==0)
{
Weeko = "Sun";
}

//+++++++++++++++++++++++this is for month conversion+++++

if (mm2==0)
{
mm2 = "Jan";
}

else if (mm2==1)
{
mm2 = "Feb";
}

else if (mm2==2)
{
mm2 = "Mar";
}

else if (mm2==3)
{
mm2 = "Apr";
}

else if (mm2==4)
{
mm2 = "May";
}

else if (mm2==5)
{
mm2 = "Jun";
}

else if (mm2==6)
{
mm2 = "Jul";
}

else if (mm2==7)
{
mm2 = "Aug";
}

else if (mm2==8)
{
mm2 = "Sep";
}

else if (mm2==9)
{
mm2 = "Oct";
}

else if (mm2==10)
{
mm2 = "Nov";
}

else if (mm2==11)
{
mm2 = "Dec";
}
//++++++++++++++++++++++++++++++++++++++++

//weekly
if ( timestamvar == timestamweek)
{
fomat2=dd2+"-"+mm2+"-"+yy4;
}

// Daily
else if ( timestamvar = timestamyear)
{
fomat2=mm2+”-“+yy4;
}

//monthly
else if ((timestamvar <= timestammonth30)&&(timestamvar = timestamquarterly)
{
fomat2=mm2+”-“+yy4;
}

arr[i][0]= fomat2;
var decpad;

decpad = parseFloat(arr[i][1]);
//arr[i][1] = roundVal(decpad);
arr[i][1] = decpad;
if(i==(arr.length-1))
{

var xvalu=dd2+”-“+mm2+”-“+yy4;
var yvalu= String(arr[i][1]);
var xyvalu=”Latest value at “+xvalu+” is “+yvalu;
updt=”Updated on “+xvalu;
//alert(“this is updt= “+updt);
}
}

}
//alert(finalAr[csvgen_counter]);
}

//other required functions

//chart configuration starts here

function getXMLHttpRequest(file) {

//var arrSignatures = [“MSXML2.XMLHTTP.5.0”, “MSXML2.XMLHTTP.4.0″,
//”MSXML2.XMLHTTP.3.0”, “MSXML2.XMLHTTP”,
//”Microsoft.XMLHTTP”];

//for (var i=0; i < arrSignatures.length; i++) {

try
{
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("POST",file,false);
return xmlhttp;
}
catch(e)
{
error=e.message;
}

//}
throw new Error("MSXML is not installed on your system.");
}

function readCSV(locfile) {
// load a whole csv file, and then split it line by line
var req = new getXMLHttpRequest(locfile);
//req.open("POST",locfile,false);
req.send("");
//alert(req.responseText.split(/n/g));
return req.responseText.split(/n/g);
}

function parseLineCSV(lineCSV) {
// parse csv line by line into array
var CSV = new Array();

lineCSV = lineCSV.replace(/,/g," ,");

lineCSV = lineCSV.split(/,/g);

// This is continuing of 'split' issue in IE
// remove all trailing space in each field
for (var i=0;i<lineCSV.length;i++) {
lineCSV[i] = lineCSV[i].replace(/s*$/g,"");
}

lineCSV[lineCSV.length-1]=lineCSV[lineCSV.length-1].replace(/^s*|s*$/g,"");
var fstart = -1;

for (var i=0;i=0) {
for (var j=fstart+1;j<=i;j++) {
lineCSV[fstart]=lineCSV[fstart]+","+lineCSV[j];
lineCSV[j]="-DELETED-";

}
fstart=-1;
}
}
fstart = (lineCSV[i].match(/^"/)) ? i : fstart;
}

var j=0;

for (var i=0;i<lineCSV.length;i++) {
if (lineCSV[i]!="-DELETED-") {
CSV[j] = lineCSV[i];
j++;
}

}

return CSV;
}

function roundVal(val_num){
var dec = 2;
var result = Math.round(val_num*Math.pow(10,dec))/Math.pow(10,dec);
return result;
}

function setdecimalpoints(deca)
{
var deca1= deca;
var deca2= parseInt(deca);
if((deca1-deca2)!=0)
{
return 2;
}
else
{
return 0;
}
}
for(i=0;i<tabs_count;i++)
{
var loc=csvfiles_loc[i];
csvgenerata(loc);
//alert(flagAr[csvgen_counter]);
// var flag_test="["+flagAr[csvgen_counter]+"]";
// alert(flag_test);
}

Charts loading…
Charts loading…
Charts loading…
Charts loading…
Charts loading…
Charts loading…
Charts loading…

jQuery.noConflict();
(function($) {

//alert(xpad);
$.getJSON(‘http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?’, function(data) {
var demo = $(“div#mySliderTabs”).sliderTabs({
transition: ‘fade’,
});
for (var i=1;i<=tabs_count;i++)
{
//alert(range_selector);
//alert(finalAr[i]);
var arr_size=finalAr[i].length;
var arr_midpos=Math.floor(arr_size / 2);
var arr_uppermedian_pos=Math.floor((arr_size + arr_midpos)/2);
//alert(arr_uppermedian_pos);
var arr_uppermedian_val=finalAr[i][arr_uppermedian_pos][0];
//alert(finalAr[i][arr_uppermedian_pos][0]);
var oneDay = 24*60*60*1000;
var window_selector=Math.floor((xpad-arr_uppermedian_val)/oneDay);
//alert(window_selector);
var j=i-1;
var flag_test=flagAr[i];
ymax_pad[i]=Math.max.apply(Math, yaxisAr[i]);
ymin_pad[i]=Math.min.apply(Math, yaxisAr[i]);
var margin_max=ymax_pad[i] * 0.1;
var margin_min=ymin_pad[i] * 0.1;
var y_max=ymax_pad[i] + margin_max;
var y_min=ymin_pad[i] – margin_min;

// var ymax=ymax_pad[i];
// var ymin=ymin_pad[i];
// var max_ticks=1000;
// var ticks_int=(ymax-ymin)/max_ticks;
// var ymax_padder=ymax_pad[i]+ticks_int;
// var ymin_padder=ymin_pad[i]-ticks_int;
//alert(ticks_int);
// alert("ymax_pad="+ymax_pad[i]);
// alert("ymax="+ymax);
// alert("ymin_pad="+ymin_pad[i]);
// alert("ymin="+ymin);
$('#container_'+i).highcharts('StockChart', {
chart: {
borderColor: '#000000',
height:363,
width:547,
marginLeft:-3,
marginTop:-43, //takes the chart area up
events: {
load: function() {
this.renderer.image('/sites/all/libraries/InterestHighcharts/images/Interest_logo.gif', 170, 75, 200, 80).add(); // add image(url, x, y, w, h)
}
},
zoomType:'x'
},

credits: {
itemStyle: {
cursor: 'pointer',
color: '#000000',
fontSize: '11px',
fontWeight:'bold'
},
position: {
align: 'right',
x:-50,
verticalAlign: 'bottom',
y:-35
},
text: 'Source:'+source_arr[j],
href: source_hyperlink_arr[j] },

exporting: {
enabled:false, //diables the print button
},

rangeSelector : {
selected : 0,
inputEnabled : false,
buttonTheme:{
display: 'none'
},
labelStyle:{
color: 'transparent'
},
buttons: [{
type: 'day',
count: window_selector,
}, {
type: 'week',
count: 3,
text: '3w'
}, {
type: 'month',
count: 6,
text: '6m'
}, {
type: 'ytd',
text: 'YTD'
}, {
type: 'year',
count: 1,
text: '1y'
}, {
type: 'all',
text: 'All'
}] },

navigator : {
adaptToUpdatedData: false,
xAxis:{
labels:{
enabled: false,
},
},
height: 50,
margin:-2,
series:{
lineColor:'#FF0000',
fillColor : '#FFFFFF'
}
},

title : {
text : chart_title_arr[j],
align: 'left',
x: 26,
verticalAlign: 'top',
//y: 50,
style: {
fontFamily:'Arial,Helvetica,sans-serif',
fontWeight:'bold'
}
},

subtitle : {
text : chart_subtitles_arr[j],
floating:true, //enable us to position the subtitle using 'x' and 'y'
align: 'center',
x:10,
y:15,
style: {
fontFamily:'Arial,Helvetica,sans-serif',
},
},

xAxis: {
type:'datetime',
lineWidth: 20,
// gridLineColor:'#FAFFFF',
// gridLineDashStyle:'Dot',
dateTimeLabelFormats: {
day: '%e-%b',
week: '%e-%b',
month: '%b-%y',
year: '%Y'
},
max:xpad,
events: {
setExtremes: function(e) {
if (e.trigger === "navigator") {
max=e.max+padding_value;
var x=this;
setTimeout(function(){
x.setExtremes(e.min,max); //chart xAxis
}, 4);
}
}
},
labels: {
style: {
color: 'black',
fontSize: '10px',
fontWeight:'bold',
fontFamily:'Arial,Helvetica,sans-serif'
},
y:3
}
},

yAxis: {
opposite: true,
startonTick: true,
endonTick: true,
labels: {
formatter: function() {
return Highcharts.numberFormat(this.value,setdecimalpoints(this.value));
},
style: {
color: 'black',
fontSize: '10px',
fontWeight:'normal'
},
y:-12
}
},

scrollbar: {
liveRedraw: false
},

series : [{
data : finalAr[i],
id: 'dataseries',
lineWidth:3,
pointPlacement: 'on',
zIndex:9999,
name : 'AAPL Stock Price',
shadow:{
width:3,
color:'#000000'
},
lineColor:'#FF0000',
type : 'area',
threshold : null,
tooltip : {
valueDecimals : decimal_arr[i],
useHTML: true,
headerFormat:'

{point.key}
‘,
pointFormat: ‘{point.y}
‘,
footerFormat:’

‘,
},
dataGrouping:{
dateTimeLabelFormats: {
hour:[‘%b-%e,%Y’, ‘%b-%e,%Y’, ”],
day: [‘%b-%e,%Y’, ‘%b-%e,%Y’, ‘-%b %e, %Y’],
week: [‘%e-%b,%Y’, ‘%e-%b,%Y’, ‘-%e %b, %Y’],
month:[‘%b-%y’, ‘%b-%y’, ‘-%b %y %Y’],
year: [‘%Y’, ‘%Y’, ‘-%Y’] }
},
fillColor: {
linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1},
stops: [
[0, ‘#FFD8D5’],
[1, ‘rgba(255,255,255,0)’] ] },
fillOpacity:.01
},
{
type: ‘flags’,
useHTML: true,
name: ‘Flags on series’,
data: JSON.parse(“[“+flag_test+”]”),
onSeries: ‘dataseries’,
shape: “url(/sites/all/libraries/InterestHighcharts/images/balloon.jpg)”,
width : 5,
y: -33 //this is for flag
}]

});
}
});
//$(‘.series’).animate({height: 600, width: 800});

})(jQuery);

We update this chart twice each day, from the same data the drives our 'live-rates' charts.

Read full story