jqplot没有尾随零

问题描述:

饼图数据标签格式精密我想知道如何格式饼图数据标签,使其显示最多2位小数字符,从未显示尾随零,例如:jqplot没有尾随零

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))同样走近它在我的问题提到了我的思想,即。虽然我以稍微颠倒的方式做了。我决定将图表设置为使用label作为dataLabels参数。一旦图表完成绘制,我使用$.jqplot.postDrawHooks.push(...)绑定我的函数以执行。我的函数修改图例标签以显示名称,而不是我在将它们设置为数据数组之前计算的百分比值。

这种方法完全按照我的意愿工作。 To those interested, please find my jsfiddle showing the solution here.

如果有人有更好的解决方案我非常希望在任何时候从我的答案中移除接受

+0

我需要饼图上的标签格式,它为我工作更好,如果它是“%.2f%” – Thea 2012-06-26 12:54:59

+0

@Teddy感谢。在我的情况下,我真的需要删除尾部零,因此你提到的格式不适合我,因为它总是会有2位数字。在我的情况下,我在图表上有很多数据,我想要标签,但同时要避免零不必要的混乱,它不会告诉任何东西:) – Boro 2012-06-26 13:12:54