我使用jQplot和primeFaces。
我想要一个CategoryAxis的日期格式化程序(日期以毫秒为单位)。
我在Stack上找到了不同的解决方案,但问题似乎是我的问题:它们是"""创作和选项/格式没有考虑在内。
ticks: this.cfg.categories,
我使用datetickformatter,自定义datetickformatter,CanvasAxisTickRenderer和CanvasAxisTickRenderer版本进行了测试。徒然。
this.cfg.axes = {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
rendererOptions: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer
},
tickOptions: {
formatString: '%a.',
fontSize:'7pt',
},
ticks: this.cfg.categories,
},
谢谢, 炬。
答案 0 :(得分:2)
我使用CategoryAxisRenderer和CanvasTickRenderer的组合发现了同样的问题。我想出了在javascript中手动格式化类别然后将它们传递给渲染器的解决方案。在您的情况下,您可以使用以下作为表面图表的扩展器:
function extender() {
var millis = this.cfg.categories;
var dates = new Array(categories.length);
for (var i = 0; i < categories.length; i++) {
dates[i] = new Date(categories[i]).toLocaleDateString();
}
this.cfg.axes = {
xaxis : {
renderer : $.jqplot.CategoryAxisRenderer,
rendererOptions : {
tickRenderer : $.jqplot.CanvasAxisTickRenderer,
tickOptions : {
fontSize:'7pt'
},
ticks : dates
}
}
};
}