在实时服务器上的highcharts-export-server中无法获取数据标签

时间:2018-07-24 05:30:59

标签: node.js highcharts

  1. 我正在使用 highcharts-export-server 导出图表,并将其发送为PDF格式的电子邮件
  2. 当我尝试将其导出到本地时,它工作正常,但是在实时服务器上,当我尝试导出所有图表数据标签消失时。
      

    这是从实时服务器中导出的图像。

enter image description here

  

这是本地导出的图像。

enter image description here

  

这是我的代码

exports.getPieChartImg = (seriesData, xOrLength, innersize, showLegend, width, height) => {
var chartOpts = {
    chart: {
        type: 'pie',
        width: width,
        height: height,
    },
    plotOptions: {
        pie: {
            innerSize: innersize || 80,
            depth: 25,
            allowPointSelect: true,
            dataLabels: {
                enabled: false,
                format: '<b>{point.name}</b>: {point.percentage:.2f} %'
            },
            showInLegend: showLegend || false,
        },
        series: {
            stacking: 'normal',
            dataLabels: {
                enabled: true,
                color: '#6f6f6f',
                format: '{point.percentage:.2f}',
                crop: false,
                overflow: "none",
            },
            pointWidth: 30,
        }
    },
    legend: {
        labelFormat: '<b>{name}</b> ({percentage:.2f})%',
        useHTML: true,
    },
    series: [{
        data: seriesData
    }]
};

var exportSettings = generateExportSettings(chartOpts, 'Pie');
return generateBase64Chart(exportSettings)
}

function generateExportSettings(chartOpts, constr) {
return {
    // b64: true,
    instr: JSON.stringify(chartOpts),
    noDownload: true,
    constr,
    globalOptions: {
        colors: ['#3BB9DA', '#0F89A8', '#0B8F8B', '#1DB1AD', '#68E3DF', '#FFB469', '#F58B1F', '#D16900', '#FC3C3C', '#FF6666', '#FC8D8D', '#FCC0C0'],
        lang: {
            thousandsSep: ','
        }
    },
    scale: false,
    styledMode: false,
    type: "image/png",
    width: false,
};
 }

function generateBase64Chart(exportSettings) {
return new Promise((resolve, reject) => {
    highchartsExporter.export(exportSettings, function (err, res) {
        if (err) {
            return reject({
                code: '1',
                err,
                msg: 'Error in stock chart',
                exportSettings
            })
        }
        return resolve({
            code: '0',
            msg: 'success',
            data: 'data:image/png;base64,' + res.data,
        })
    });
})
}

1 个答案:

答案 0 :(得分:3)

  1. 请从“ github.com/dhyey35/node-export-server.git”将软件包版本更新为 'https://github.com/highcharts/node-export-server'。
  2. 然后删除 node_module ,然后重新安装。
  3. ,如果已安装libfontconfig,则安装'sudo apt-get install libfontconfig'