jqplot饼图数据标签格式精度,不带尾随零

我想知道如何在饼图格式化数据标签,使其显示最多2个十进制字符,并且从不显示尾随零 ,例如:

2 -> 2 2.0 -> 2 2.566 -> 2.57 

换句话说,我问如何设置dataLabelFormatString参数 ? 我知道它使用的是sprintf ,因此我尝试了’%。2f’和’%g’。 但他们并没有解决我的问题。 由于第一个使每个数字显示为十进制字符,另一个只是删除尾随零但不能精确处理,因为在这种情况下你放在它前面的数字,例如’%。2g’指的是总长度人物。

我不知道如何有效地将这两者结合起来(甚至可能吗?)。 如何设置参数,例如,使用’%。2f’然后使用’%g’进行首次格式化,它应该可以解决问题,但是怎么做呢?

我是否可以在格式中“注入”if / else,如果是,那么如何?

否则,我能想到的唯一方法是,绘制绘图后,运行一个jquery脚本获取标签并在每个标签上应用parseFloat(label.toFixed(2))

为了结束这个话题,我在这里发布我的答案。 感谢jQuery ,我设法解决了这个问题。 在做客户端方面,它似乎再次成为现实生活中的救星。 🙂

我的问题与我在我的问题中提到的想法相似,即使用parseFloat(label.toFixed(2)) 。 虽然我是以略微倒置的方式做到的。 我决定将图表设置为使用dataLabels参数的label 。 我使用$.jqplot.postDrawHooks.push(...)来绑定我的函数,以便在图表完成绘制后执行。 我的函数修改图例标签以显示名称而不是我在将它们设置为数据数组之前计算的百分比值。

这种方法完全符合我的要求。 对于那些感兴趣的人,请找到我的jsfiddle在这里显示解决方案。

如果有人有更好的解决方案, 我非常希望随时从我的回答中提出接受