Highchart导出服务器在pdf中阻止0值

时间:2018-01-29 11:32:15

标签: highcharts highcharts-ng

我正在使用高图导出服务器将高图作为psd导出到itextsharp中。

我已经创建了一个处理程序,它会给我作为png图像的高图,这个图像被渲染成itext pdf。

所以我的渲染是:使用json文件将高图转换为图像,该文件将用于将其渲染为pdf。

预期:http://jsfiddle.net/9owxLgm9/1/

问题是我无法添加阻止在高图pdf中呈现0值的代码

formatter: function () {
                    if (this.y != 0) {

                        return Highcharts.numberFormat(this.percentage, 0) + ' %';
                    }
                },

所以我的pdf图像渲染这样的东西 http://jsfiddle.net/9owxLgm9/2/ 即它也显示0值。

有什么办法可以删除json文件中基于0的值

highChart in pdf shows a zero on label which i want to remove

2 个答案:

答案 0 :(得分:0)

我不知道它是否真的是您想要的结果,但您可以使用这个简单的格式化程序从饼图中删除空值/统计标签:

formatter: function() {
  if (this.y != 0) {
    return this.y +'%';
  } else {
    return null;
  }
}

<强> Your updated demo here

上面的代码会将百分比作为标签值输出,因此,如果您想将这些名称保留为标签,则只需将return this.y +'%';替换为return this.point.name;

这是 another example ,其中名称为标签(也跟随你的小提琴)。

答案 1 :(得分:0)

解决方案是添加格式化程序功能

"pie": {
                "allowPointSelect": true,
                "cursor": "pointer",
                "dataLabels": {
                  "enabled": true,
                  "formatter": "function () {if (this.y != 0) { return Highcharts.numberFormat(this.percentage, 0) + ' %';} }",
                  "format": "{point.percentage:.2f} %",
                  "distance": 4,
                  "filter": { "property": "percentage",  "operator": ">",      "value": 1}
                },
                "showInLegend": true
            }