javascript - 隐藏 CanvasJS 图表的标签?

标签 javascript ajax canvas pie-chart canvasjs

我有一个 Canvas JS 图表,如果值为 0,我想隐藏标签。我的 2 个数据点非零。我的 JavaScript 是:

           var chart = new CanvasJS.Chart("chartContainer",
            {
                title:{
                    text: ""
                },
                legend: {
                    maxWidth: 350,
                    itemWidth: 120
                },
                data: [
                {
                    type: "pie",
                    showInLegend: true,
                    toolTipContent: "${y} - #percent %",
                    dataPoints: [
                        { y: debt, indexLabel: "Debt Payments" },
                        { y: housing, indexLabel: "Housing" },
                        { y: utilities, indexLabel: "Utilities" },
                        { y: foodandsupplies, indexLabel: "Food and Supplies"},
                        { y: transportation, indexLabel: "Transportation" },
                        { y: health, indexLabel: "Health"},
                        { y: otherDebts, indexLabel: "Other payments"}
                    ]
                }
                ]
            });
            chart.render();

JavaScript 的结果是:

Pie Chart

如果有任何帮助,我将不胜感激。谢谢!

最佳答案

您可以通过查看图表选项并将所有此类数据点的索引标签设置为空字符串,隐藏 y 值为零的数据点的索引标签。

在渲染图表之前添加此代码片段,即 chart.render() ,它应该可以正常工作。

for(var i = 0; i < chart.options.data[0].dataPoints.length; i++) {
 if(chart.options.data[0].dataPoints[i].y === 0)
  chart.options.data[0].dataPoints[i].indexLabel = "";
}

希望有帮助。

关于javascript - 隐藏 CanvasJS 图表的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43600285/

相关文章:

javascript - Angular 1.3.0 支持 JSON 响应,如何在 Angular 之前覆盖此响应或预解析响应?

javascript - 动态更改输入字段的占位符?

javascript - 将JS对象转换为HTTP GET请求查询字符串(使用jquery)

javascript - Ajax 请求在 gatsby js 生产构建后不起作用

html - 绕过跨域限制 ajax - jquery 和/或 iOS

javascript - 每个ajax请求发送一个数组

javascript - 使用鼠标事件在 Canvas 上绘制一个圆圈

javascript - 使用 jQuery 选择子元素

javascript - 如何使用 CamanJS 在 Canvas 中加载图像?

javascript - 调整 Canvas 上图像大小的问题