【问题标题】:can't get data-labels in highcharts-export-server on live server无法在实时服务器上的 highcharts-export-server 中获取数据标签
【发布时间】:2018-07-24 05:30:59
【问题描述】:
  1. 我正在使用 highcharts-export-server 导出图表并将其以 PDF 格式发送到电子邮件
  2. 虽然我试图在本地导出它工作正常,但在实时服务器上,当我试图导出所有 图表数据标签消失

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

这是在本地导出的图像。

这是我的代码

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,
        })
    });
})
}

【问题讨论】:

  • 您能提供给我您的图表配置吗?很高兴看到这一点,因为它可能是由useHTML 参数引起的。
  • @daniel_s 我编辑了我的问题。
  • 感谢您的编辑,但我仍然不知道您的代码发生了什么。我不太确定图表配置是否会导致类似的情况,因为导出效果很好。这是示例:jsfiddle.net/L4e7gkxz 我需要知道,generateExportSettingsgenerateBase64Chart 函数是什么
  • @daniel_s 我还添加了两个功能,请参阅问题。
  • 感谢您的解释。我有点困惑,因为您将highcharts-export-server 称为node-export-server,但这是两个不同的包。无论如何,这个问题看起来与机器设置(操作系统)有关。我认为,是时候在node-export-server GitHub 存储库上打开一个新问题了,你需要像这里一样准确地描述你的问题。此外,请在此处指定您的机器(本地和服务器)的设置。

标签: node.js highcharts


【解决方案1】:
  1. 移除 node_module 并重新安装。
  2. 如果没有安装 libfontconfig 然后安装 'sudo apt-get install libfontconfig'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    相关资源
    最近更新 更多