1
i have this chart on highcharts:
$.getJSON('https://cdn.rawgit.com/highcharts/highcharts/057b672172ccc6c08fe7dbb27fc17ebca3f5b770/samples/data/usdeur.json', function (data) {
var startDate = new Date(data[data.length - 1][0]), // Get year of last data point
minRate = 1,
maxRate = 0,
startPeriod,
date,
rate,
index;
startDate.setMonth(startDate.getMonth() - 3); // a quarter of a year before last data point
startPeriod = Date.UTC(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());
for (index = data.length - 1; index >= 0; index = index - 1) {
date = data[index][0]; // data[i][0] is date
rate = data[index][1]; // data[i][1] is exchange rate
if (date < startPeriod) {
break; // stop measuring highs and lows
}
if (rate > maxRate) {
maxRate = rate;
}
if (rate < minRate) {
minRate = rate;
}
}
// Create the chart
Highcharts.stockChart('container', {
rangeSelector: {
selected: 1
},
title: {
text: 'USD to EUR exchange rate'
},
yAxis: {
title: {
text: 'Exchange rate'
},
opposite: false,
plotLines: [{
value: minRate,
color: 'green',
dashStyle: 'shortdash',
width: 2,
label: {
text: 'Last quarter minimum'
}
}, {
value: maxRate,
color: 'red',
dashStyle: 'shortdash',
width: 2,
label: {
text: 'Last quarter maximum'
}
}]
},
series: [{
name: 'USD to EUR',
data: data,
tooltip: {
valueDecimals: 4
}
}]
});
});
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script src="https://code.highcharts.com/stock/modules/export-data.js"></script>
<div id="container" style="height: 400px; min-width: 310px"></div>
and would like to put axis on the right utulizei this code: opposite: true,
and stayed like this:
$.getJSON('https://cdn.rawgit.com/highcharts/highcharts/057b672172ccc6c08fe7dbb27fc17ebca3f5b770/samples/data/usdeur.json', function (data) {
var startDate = new Date(data[data.length - 1][0]), // Get year of last data point
minRate = 1,
maxRate = 0,
startPeriod,
date,
rate,
index;
startDate.setMonth(startDate.getMonth() - 3); // a quarter of a year before last data point
startPeriod = Date.UTC(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());
for (index = data.length - 1; index >= 0; index = index - 1) {
date = data[index][0]; // data[i][0] is date
rate = data[index][1]; // data[i][1] is exchange rate
if (date < startPeriod) {
break; // stop measuring highs and lows
}
if (rate > maxRate) {
maxRate = rate;
}
if (rate < minRate) {
minRate = rate;
}
}
// Create the chart
Highcharts.stockChart('container', {
rangeSelector: {
selected: 1
},
title: {
text: 'USD to EUR exchange rate'
},
yAxis: {
title: {
text: 'Exchange rate'
},
opposite: true,
plotLines: [{
value: minRate,
color: 'green',
dashStyle: 'shortdash',
width: 2,
label: {
text: 'Last quarter minimum'
}
}, {
value: maxRate,
color: 'red',
dashStyle: 'shortdash',
width: 2,
label: {
text: 'Last quarter maximum'
}
}]
},
series: [{
name: 'USD to EUR',
data: data,
tooltip: {
valueDecimals: 4
}
}]
});
});
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script src="https://code.highcharts.com/stock/modules/export-data.js"></script>
<div id="container" style="height: 400px; min-width: 310px"></div>
as I leave it with the correct margin, so it stays inside the chart.
Sensational! Thank you very much :D
– Julio Henrique