我正在使用C3.js制作一个非常简单的堆积条形图。 https://c3js.org/samples/chart_bar_stacked.html。我希望能够将文本附加到值,特别是+“ Mb”,以便最终用户知道这些数字表示兆位,而不是其他任何值。我添加了一个有用的y轴标签,但是对于我的问题,我想知道如何利用d3.js来执行值的格式设置。
我使用了d3.format,它表明我可以追加字符串,但是还没有弄清楚如何将其提取。
using UIKit;
UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone // or Pad
这无法正常工作,我收到“ TypeError:this.tickFormat不是函数”。想知道是否有c3专家可以帮助我解决这个问题?谢谢!
答案 0 :(得分:2)
您可以编写一个报价函数,如下所示:
tick:
{
format: function (d) {
if ((d) > 0) {
d = d + "Mb";
}
return d;
}
},
我对d使用了> 0,因此,如果d不为0,“ Mb”只会附加到d,但是您也可以扩展代码以自动转换输入:
tick:
{
format: function (d) {
if (((d / 1000) >= 1) & ((d / 1000) < 1000)) {
d = Math.round((d / 1000 )*100) / 100 + "Kb";
}
else if ((d / 1000000) >= 1) {
d = Math.round((d / 1000000 )*100) / 100 + "Mb";
}
return d;
}
},
这样做,您可以将未转换的数据用作输入,并将其转换为“ Kb”或“ Mb”单位。小数点后100组2位数字。