问题
I'm trying to use canvg to draw a highchart inside a canvas.
the problem I have is that the chart legends dont appear in the canvas and also the size and quality is reduced.
$('#container').highcharts({
credits: {
enabled: false
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
function exportChart() {
var svg = canvg(document.getElementById('canvas'), getSVG(), { ignoreDimensions: true });
}
function getSVG() {
debugger
var chart = $('#container').highcharts();
var svg = chart.getSVG();
return svg;
}
回答1:
When you remove option ignoreDimensions: true
it works good, I think: http://jsfiddle.net/Fusher/qDmhV/148/
If you want to have the same size for chart - you need to have canvas container the same width and height as for chart.
Edit:
with disabled ignoreDimensions:
without disabled ignoreDimensions:
来源:https://stackoverflow.com/questions/18332247/canvg-and-highcharts-how-to-include-chart-legend-and-keep-the-chart-size