1

我正在使用 Highcharts 3 饼图,当我导出到图像时,生成的图表会丢失一些数据标签。我该如何解决(解决方法)这个?

ps:使用highcharts服务器:export.hightcarts.com

问候

[更新]

生成的图像 png 文件上的小值会被截断。但是在打印预览中没问题。

new Highcharts.Chart({
    chart: {
        renderTo: 'chart',
        type: 'pie'
    },
    title: { 
        text: 'My Chart title' 
    },
    plotOptions: {
        pie: {
            showInLegend: true,
            dataLabels: {
                enabled: true,
                formatter: function() {
                    return '<b>' + this.point.name + '</b>: ' + Math.round(this.point.total * this.point.percentage / 100);
                }
            }
        }
    },
    series: [{
        type: 'pie',
        name: 'Series name',
        data: [
            ["Lorem", 88],
            ["Lorem ipsum", 4],
            ["Praesent nibh nulla", 12],
            ["Lorem ipsum dolor sit amet", 66],
            ["Praesent fringilla suscipit molestie", 30],
            ["Donec at lectus at nulla viverra lobortis", 11],
            ["Class aptent taciti sociosqu ad litora", 87],
            ["Mauris vulputate sem id arcu volutpat fermentum", 149],
            ["Vestibulum faucibus lectus", 113],
            ["Pellentesque habitant morbi tristique", 7],
            ["Etiam lacinia mi suscipit", 92],
            ["Proin semper risus in lacus semper", 9],
            ["Fusce id faucibus massa", 99],
            ["Suspendisse", 4],
            ["Quisque quis lectus et turpis laoreet", 101]
        ]
    }],
    exporting: {
        enabled: true
    }
});

jsFiddle:http: //jsfiddle.net/6afyH/1/

4

1 回答 1

6

这是因为 Highcharts 没有检测到width容器的。

您可以通过在选项中添加选项来解决此sourceWidth问题exporting

exporting: {
    enabled: true,
    sourceWidth: 900
}

似乎sourceWidth取初始width值,因此如果图表在页面加载时被截断,除非您在选项中指定它,否则在导出时它将是相同的。

我更新了 jsFiddle 给你一个这个工作的例子:http: //jsfiddle.net/6afyH/2/

于 2013-07-08T20:43:53.930 回答