I'm hoping someone can help my create a Highcharts Graph that, when clicking the column / bar, a new window is opened up. Very much like the HTML equivalent of:
<a target="_blank">test</a>
I have managed to do this without creating a new window and I was hoping that someone might be able to tell me what I need to adjust to cater for a new window popup?
I have an example at jsfiddle
Which is Basically the following code:
$(function () {
$('#container').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Title'
},
credits: {
enabled: false
},
xAxis: {
categories: ["category_1", "category_2", "category_3", "category_4"],
crosshair: true
},
yAxis: {
min: 0,
title: {
text: 'Count'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y:.1f}</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
legend: {
labelFormatter: function () {
var total = 0;
for (var i = this.yData.length; i--; ) {
total += this.yData[i];
}
;
return 'Total: ' + total;
},
align: 'right',
verticalAlign: 'top',
x: -40,
y: 60,
floating: true
},
plotOptions: {column: {pointPadding: 0.2, borderWidth: 0, dataLabels: {enabled: true}}, },
series: [{
name: 'Live Trial Lead Sources',
data: [{"y":111,"url":"http:\/\/www.google.ie"},{"y":44,"url":"http:\/\/www.google.ie"},{"y":22,"url":"http:\/\/www.google.ie"},{"y":10,"url":"http:\/\/www.google.ie"}],
cursor: 'pointer',
point: {
events: {
click: function () {
location.href = this.options.url;
}
}
}
}]
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
I thought it might be something like the following which is wrong:
[{"y":111,"url":"http:\/\/www.google.ie","target"=>"_blank"} ...
Thanks in advance.
In series.point.events.click
you can switch your statement:
location.href = this.options.url;
With (update JSFiddle):
window.open(this.options.url, '_blank');
Which will then open the URL in a new window.